jquery使用CORS跨域请求时,为什么cookie丢失了。

1. 我遇到的问题

ajax CORS跨域时,按照网上的xhr.withCredentials介绍进行了正确的设置,但是cookie还是丢失了,问题出在哪里? 请大神过目!!!

2. 代码截图

以下是截图,在客户端和服务端都进行了设置,但是还是没有cookie发送出去。

客户端jquery代码:

图片描述

服务端php代码:

图片描述

页面的cookie是有的:

图片描述

服务端的响应是正确的:

图片描述

但是请求数据中,没有cookie:

图片描述

阅读 16.3k
6 个回答

标准的CORS请求不对cookies做任何事情,既不发送也不改变。如果希望改变这一情况,就需要将withCredentials设置为true。

xhr.withCredentials = true;

服务端在处理这一请求时,也需要将Access-Control-Allow-Credentials设置为true

需要设置www.yeqisong.com域名的cookie。跨域的两个顶级域名最好一致,这样cookie的domain可以设置

document.cookie = 'cookieName=value;domain=xxx.com;path=/url'
跨域必须要设置domain 和path
请看我的博客:
http://blog.csdn.net/sunq1982/article/details/77887655
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进