Pet*_*ter 20 javascript cookies ajax fetch
出于某种原因,我的浏览器(我尝试了几个)不设置cookie,即使服务器返回有效的set-cookie响应,当使用fetch api 通过Ajax进行GET调用来发出请求时
如果我通过将URL放在浏览器中进行相同的GET调用,则浏览器会尊重(相同的)set-cookie响应头并保存cookie.
我通过LiveHeaders和Chrome网络检查器检查了请求和响应标头,没有区别.
编辑:澄清一下,这不是ajax向服务器发送cookie的问题.这是一个问题,当一个响应返回时,有效的set-cookies标题(根据文档应该遵守是否ajax),浏览器根本不保存cookie.
Pet*_*ter 21
在经过多次打击之后,我通过将请求的"凭证"属性设置为"包含"来解决了这个问题.我的印象是,这只控制了在获取请求时向服务器发送cookie,但显然,至少在我正在使用的实现中,如果没有设置它也意味着如果从它们发回的cookie将不会保存服务器.
来自https://fetch.spec.whatwg.org/上的规范
请求具有关联的凭证模式,即"省略","同源"或"包括".除非另有说明,否则为"省略".
请求的凭据模式控制获取期间的凭据流.当请求的模式为"导航"时,其凭证模式被假定为"包含",而获取当前不会考虑其他值.如果HTML在此处更改,则此标准将需要相应的更改.
凭据是HTTP cookie,TLS客户端证书和身份验证条目.
| 归档时间: |
|
| 查看次数: |
11424 次 |
| 最近记录: |