如何仅通过响应负责人获得 ajax 承诺



简单地说:我需要处理来自 rails API 的响应来制作一些东西,但我只需要响应的标头,没有任何数据。

但是then在仅包含标头时不会获得响应。

详细内容:

导轨控制器操作:

def index
  # some logic here ...
  head :created
end

余烬组件操作:

let adapter = getOwner(this).lookup('adapter:application');
adapter.ajax(
  adapter.buildURL('/index'), 'POST', { some_param: 'some_content' }
).then(() => { 'do something here...' });

因此,在此实现中,从不使用{ 'do something here...' }。但是,如果更改控制器操作,它可以成功工作:

def index
  render json: [], status: :created
end

但我不需要渲染一些 json 作为回应。

所以,问题是:

如何为控制器操作运行代码'do something here...'

def index
  head :created
end

任何帮助,不胜感激。

为什么要通过适配器路由它? 通常,您应该只将适配器用于ember-data请求。

只需使用fetch(如果您需要填充物,请使用ember-fetch(!

const res = await fetch('/index', {
  method: 'POST',
  body: JSON.stringify({ some_param: 'some_content' }),
});
console.log(res.headers.get('your-header'));

最新更新