如果我在页面上的javascript中使用fetch()
,则它不会在Firefox和Edge中的请求中发送cookie,在Chrome中,它运行良好。由于身份验证,我的页面需要Cookie。
该请求位于同一域中,我看不出为什么不应该这样做。 我使用https。
这在Firefox / Edge中不起作用(未设置cookie):
fetch('/kiaweb/notification/key')
.then(function (res) {
res.json().then(function (data) {
self.apiKey = data.key;
});
});
但这在所有地方都有效(设置了所有cookie)(使用jquery):
$.get('/kiaweb/notification/key' function(data) {
self.apiKey = data.key;});
答案 0 :(得分:0)
根据浏览器支持列表,IE不支持fetch
-
您可以在this link上查看支持。
答案 1 :(得分:0)
我忘记了需要设置{ credentials: "same-origin" }
。
请求为:
fetch('/kiaweb/notification/key',{ credentials: "same-origin" })
.then(function (res) {
res.json().then(function (data) {
self.apiKey = data.key;
});
});