前端Cookie携带与获取问题
在写一个小项目时,发现前端XHR请求不自动携带Cookie凭证,根据自己之前掌握的,知道在发送http请求时,浏览器会自动携带Cookie,就挺奇怪了。
·
疑惑点
在写一个小项目时,发现前端XHR请求不自动携带Cookie凭证,根据自己之前掌握的,知道在发送http请求时,浏览器会自动携带Cookie,就挺奇怪了
解决
去找了找资料,发现之前自己一直存在一个误区,浏览器会自动携带Cookie,但是是在同源的情况下,如果不是同源,就会受到同源策略的影响,不能携带
注意是同源才可以!!!
结论:
1.Ajax会自动带上同源的Cookie,不会带上不同源的Cookie
2.可以通过前端设置withCredentials为true, 后端设置Header的方式让Ajax自动带上不同源的Cookie,但是这个属性对同源请求没有任何影响。会被自动忽略。
小知识
1.获取cookie
document.cookie
如果Cookie的httponly为true JS获取不到Cookie
2.cookie由服务器端生成,并向前端发送cookie,浏览器将cookie保存,并且在之后每一次接口请求都携带上cookie
3.axios配置跨域携带Cookie
axios.create({
baseURL: "http://127.0.0.1:8080",
withCredentials: true, //主要是添加这一行
})
更多推荐
已为社区贡献2条内容
所有评论(0)