ajax请求携带 cookie 您所在的位置:网站首页 前端设置cookie不起作用 ajax请求携带 cookie

ajax请求携带 cookie

2023-11-11 22:35| 来源: 网络整理| 查看: 265

总结:

同源ajax请求是可以自动携带cookie的

而非同源需要客户端和服务端都做处理:

1.客户端需要对xhr对象设置withCredentials:true

2.服务端需要设置响应头 access-control-allow-credentials:true

              同时必须指明  access-control-allow-origin 为服务方的origin, 不能为*

 

 

 

 

======================================

之前都有这样一个理解:ajax请求时是不会自动带上cookie的,要是想让他带上的话,必须哟啊设置withCredential为true。这个说法会让人产生完全扭曲的误解,我就是其中之一。完整的无歧义的表述应该是这样:1.ajax会自动带上同源的cookie,不会带上不同源的cookie2. 可以通过前端设置withCredentials为true, 后端设置Header的方式让ajax自动带上不同源的cookie,但是这个属性对同源请求没有任何影响。会被自动忽略。3. 这是MDN对withCredentials的解释: MDN-withCredentials ,我接着解释一下同源。众所周知,ajax请求是有同源策略的,虽然可以应用CORS等手段来实现跨域,但是这并不是说这样就是“同源”了。ajax在请求时就会因为这个同源的问题而决定是否带上cookie,这样解释应该没有问题了吧,还不知道同源策略的,应该去谷歌一下看看。

实验第一步: 建立一个本地服务器

1.新建一个demo文件夹,进入文件夹,用php -S localhost:9000开启一个本地服务器2.在demo文件夹下新建一个index.php文件, 内容为:

 


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有