ember:使用带有ember-network的cookie

时间:2017-04-22 04:56:16

标签: cookies ember.js ember-data

Cookie可以与ember-network请求一起使用吗?感谢this answer我知道它们可以与ember-data API请求一起使用,但我需要在初始化程序中执行网络请求,并且看起来不会提前访问ember-data存储。 / p>

背景:

我想将购物车数据保存到these reasons

的后端

ember-cart插件有一种聪明的方法可以通过jsonifying和数据模型来持久化购物车,并在更改时转储到localstore:

window.localStorage.setItem('cart', JSON.stringify(this.payload()));

然后在返回时访问解析json并将其推送到实例初始化程序中的商店:

...
payload = JSON.parse(payload);
...
cart.pushPayload(payload);

我想基本上做同样的事情,但不是从localstorage获取JSON,而是通过网络从API获取它。

商店在初始化程序中不可用,但是ember-network是。所以假设我认为我可以做到这一点。我遇到的问题是cookie没有被传递。

我用ember-data解决了这个问题:

  xhrFields: {
    withCredentials: true
  }

在应用程序适配器中,但我找不到有关ember-network是否有类似设置的任何信息。我看到我的API的请求是在初始化程序中进行的,但是api没有返回任何内容,因为浏览器cookie没有包含在内。

1 个答案:

答案 0 :(得分:1)

The fetch API provides a credentials option.ember-network使用的whatwg-fetch库也记录了这一点。

所以基本上你可以做到

fetch("/foobar", { credentials:"include" }).then(...)