提取会话Cookie不会在Firefox上发送

时间:2020-09-15 07:00:36

标签: php ajax firefox cookies

我有一个发出Ajax请求的应用程序。不涉及CORS。阿贾克斯来自同一起源。我正在使用访存API。在Chrome浏览器中一切正常。在Firefox 52中,它不起作用(但在最新版本的Firefox中起作用)。

会话cookie似乎未在请求中发送,因此我有302重定向到登录页面。

同样,我来自同一地方,是重定向到FF 52的ajax请求的示例:

fetch('/users', {credentials: 'include'})

证明:

1

如果包含凭据,则可以正常工作:

import csv 
list1 = [1,2,3]
list2 = [4,5,6]
list3 = [7,8,9]
data = [ ['Header1','Header2','Header3','Header4'] ,list1,list2,list3]
with open('hello.csv', 'w', newline='') as f:
    writer = csv.writer(f) 
    writer.writerows(data)
f.close()

这是FF 52的已知问题吗?我在文档上找不到有关此信息。

谢谢。

1 个答案:

答案 0 :(得分:1)

该规范在2017年8月进行了更改,因此在此之前/前后的某些浏览器仍需要明确指定默认隐式默认值。

https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API#Differences_from_jQuery

fetch()不会发送cookie,除非您设置凭据:“ same-origin”。

2017年8月,规范将默认凭据策略更改为“ same-origin”。以下浏览器已经发布,[sic]的本机获取已经过时,并且在以下版本中进行了更新:

  • Firefox版本61.0b13。
  • Safari 12版。
  • Chrome版本68。

如果您定位的是这些浏览器的较旧版本,请确保在所有可能受Cookie /用户登录状态影响的api请求中包括凭据:“ same-origin” init选项。

相关问题