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

来源:互联网 发布:深圳奥芯软件 编辑:程序博客网 时间:2024/06/04 19:27

https://segmentfault.com/q/1010000004509223


1. 我遇到的问题

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

2. 代码截图

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

客户端jquery代码:

服务端php代码:

页面的cookie是有的:

服务端的响应是正确的:

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

  • 2月29日提问 
  • 评论 
  • 邀请回答 
  • 编辑 
默认排序时间排序

2个回答

2

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

xhr.withCredentials = true;

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

  • 2月29日回答 
  • 1 评论 
  • 编辑
0

http://netsecurity.51cto.com/art/201311/419179.htm


Jquery 请求加上:

xhrFields:{
withCredentials: true
}


0 0
原创粉丝点击