前端 js 设置cookie的方式及遇到cookie方面的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了前端 js 设置cookie的方式及遇到cookie方面的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1474字,纯文字阅读大概需要3分钟。
内容图文
![前端 js 设置cookie的方式及遇到cookie方面的问题](/upload/InfoBanner/zyjiaocheng/1027/ff0c2c410e5e426ea14d9889e27641ee.jpg)
前端设置cookie的方式及cookie方面的问题
前端axios携带cookie报错或请求失败
首先排查cookie的携带是否有误
我们要知道,axios里的post请求里cookie是放哪的
axios.post(url,{第一个对象里是放后端传回的参数},{第二个人接口是放请求头请求体设置以及cookie是否允许携带设置等})
所以我们cookie放在第二个对象里,在这里cookie其实是默认不允许携带的,他这里是没显示出来
我们直接在第二个对象里设置一个 withCredentials: true;
withCredentials:默认情况下,跨源请求不提供凭据(cookie、HTTP认证及客户端SSL证明等)。通过将withCredentials属性设置为true,可以指定某个请求应该发送凭据。默认值为false。
true:在跨域请求时,会携带用户凭证
false:在跨域请求时,不会携带用户凭证;返回的 response 里也会忽略 cookie
当配置了 withCredentials = true时,必须在后端增加 response 头信息Access-Control-Allow-Origin,且必须指定域名,而不能指定为*!!!
也可以在axios外写对所有 axios 请求做处理:axios.defaults.withCredentials = true;
方法有很多种(这里是我常遇到的)
**
然后再次查找cookie是否设置有误
**
在axios外写上后端需要你携带的cookie,格式是:
document.cookie=’ 后端传的cookie写这里面 ’
如以上代码还是有问题的话可能是浏览器的版本问题,需要手动在浏览器cookie设置
**打开谷歌浏览器在Chrome中访问 chrome://flags/ ,搜索SameSite并设置为disabled即可。
原因是Chrome升级到80版本之后cookie的SameSite属性默认值由None变为Lax,这也就造成了一些访问跨域cookie无法携带的问题。
操作步骤如下**
图片
若以上都写上了还是有问题可以和后端联系下看看是否他那有问题
这些是我遇到cookie问题的总结,希望能帮到大家
内容总结
以上是互联网集市为您收集整理的前端 js 设置cookie的方式及遇到cookie方面的问题全部内容,希望文章能够帮你解决前端 js 设置cookie的方式及遇到cookie方面的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。