我是靠谱客的博主 忐忑书包,最近开发中收集的这篇文章主要介绍HTTP篇之cookie设置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前台代码:

var xhr = new XMLHttpRequest();
xhr.open('GET','http://localhost:3000/list');
xhr.withCredentials = true;
xhr.send();

XMLHttpRequest发送请求时需要设置withCredentials属性为true,来允许浏览器在自己的域设置cookie值。

如果withCredentials没有设置为true,就会出现Response Headers有Set-Cookie,但是浏览器却没有存储cookie的情况。

后台代码:

response.setHeader('Access-Control-Allow-Credentials',true);
response.setHeader('Access-Control-Allow-Origin','http://localhost:63342');
response.setHeader('Set-Cookie','token=cowshield');

后台设置的Access-Control-Allow-Credentials和前台设置的withCredentials是要结合使用的。

Access-Control-Allow-Origin是允许跨源的,通常设置为'*'。但是设置了Access-Control-Allow-Credentials后,就必须写跟Request Headers的Origin相同的地址了。


不然就会报下面这个错误(但是不影响请求和cookie存储..)


最后就是Set-Cookie了,后台响应后,就可以在浏览器看到


再来验证下是否真正成功了,也就是浏览器把cookie存储到当前域下


后续发送的请求就会在Request Headers里自动带上这个cookie了


这就搞定了。

总结一下:

前台要设置withCredentials,后台要设置Access-Control-Allow-Credentials。

前台发起请求的Origin(url的ip地址或者域名)一定要和后台设置的Access-Control-Allow-Origin相同。
————————————————
 

最后

以上就是忐忑书包为你收集整理的HTTP篇之cookie设置的全部内容,希望文章能够帮你解决HTTP篇之cookie设置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部