Ajax 请求是不是保证发送 cookie?

Posted

技术标签:

【中文标题】Ajax 请求是不是保证发送 cookie?【英文标题】:Is an Ajax request guaranteed to send cookies?Ajax 请求是否保证发送 cookie? 【发布时间】:2011-03-10 22:53:51 【问题描述】:

我刚刚对此进行了测试,似乎 Ajax 请求每次都将 cookie 标头从浏览器发送到服务器。这是我可以依赖的有保证的行为,还是可能发生也可能不会发生的事情?

【问题讨论】:

【参考方案1】:

Ajax 只是一种生成 HTTP 请求的“方式”。它仍然是一个浏览器,所以它会遵循浏览器的“规则”。永远不能 100% 确定,但我会说是的。

【讨论】:

【参考方案2】:

就像其他答案所暗示的那样,AJAX 是一种以异步方式从服务器请求服务的方式。但是,内部 HTTP 协议也用于 AJAX,它表示如果有任何 cookie,则必须使用 HTTP 请求(同步或异步)发送。因此,大多数现代浏览器都遵守它,否则它被认为是浏览器实现中的错误。

【讨论】:

以上是关于Ajax 请求是不是保证发送 cookie?的主要内容,如果未能解决你的问题,请参考以下文章

CORS cookie 未在 Chrome 中发送

为啥 jQuery 的 .ajax() 方法不发送我的会话 cookie?

带有 withCredentials 的 Ajax 调用:true 不是在请求中发送 cookie

Internet Explorer 9 AJAX 请求上没有会话 Cookie

CORS 请求 - 为啥不发送 cookie?

解决浏览器跨域限制发送ajax请求