[b]发现问题[/b]
最近在工作中遇到一个问题,后端写好,前端写好,postman测试做好,一切都没有问题,但是实际用axios来实现登陆功能的时候问题就来了....
什么情况?登陆根本用不了啊!每次都提示我没有登陆!
代码没问题啊,postman都测试过了
迷茫这去找谷歌百度帮助...
[b]发现问题是...[/b]
一个登录的场景,用axios发送post请求去登录,能成功返回数据,但是用作权限验证的cookie就是没有保存,经查阅,axios 默认不发送cookie,跨域也是一个原因,需要全局设置
所以我们需要这么设置
axios.defaults.withCredentials = true
感觉可以了,但是居然告诉我这么做之后,居然告诉我Access-Control-Allow-Origin不能是*,好,我改
[code]res.header('Access-Control-Allow-Origin', 'http://localhost:8080');[/code]
感觉可以了,但是还是不行,他还要求我Access-Control-Allow-Credentials不能是[code]''[/code]好吧...我确实没写...
那就加吧
res.header('Access-Control-Allow-Credentials', 'true');
感觉可以了,但是,不对,没有但是了!axios可以顺利实现登陆功能了...
[b]总结一下,关键基本就是下面两个图的代码...[/b]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090144_0_37989.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090144_1_46172.jpg[/img]
[b]总结[/b]
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。