Ember:来自api的会话cookie未设置

时间:2017-04-20 05:53:44

标签: cookies ember.js ember-data

我正在尝试从我的后端API为特定的ember-data模型('cart')设置会话cookie。

在模型上调用createRecord时,我看到了对我的API的XHR“POST”请求。我看到API处理它并做出响应,我在响应头中看到了Set-Cookie ...但浏览器中没有cookie!

虽然在不同的端口上,但是ember应用程序和api位于同一个域(localhost)上。我用谷歌搜索了cookies are not port-specific。所以我看不出有什么阻止它。

我尝试使用Chrome扩展程序邮递员向API提交相同的POST并且工作正常 - 在浏览器中设置Cookie。当请求来自ember应用程序时,只是不起作用。虽然我没有看到任何错误。

ember中是否存在阻止cookie被设置的内容?我不明白为什么会这样,我认为浏览器应该在ember重新开始之前处理响应头。

我要在这个死亡的兔子洞里走下去!任何帮助赞赏。这是请求/回复。

enter image description here

1 个答案:

答案 0 :(得分:4)

如果您正在尝试跨域请求,则可能必须在应用程序和服务器上同时授予权限。如果是这种情况,请继续阅读CORS。此外,如果您有httpOnly Cookie,则必须在ajax请求中设置withCredientials字段:

      xhrFields: {
        withCredentials: true
      }

您可以阅读withCredential here了解更多信息。这两个是导致cookie问题的主要因素。

相关问题