最近做vue项目时遇到登录权限问题,登录以后再发送的请求头部并没有携带登录后设置的cookie,导致后台无法校验其是否登录。检查发现是vue项目中使用axios发送ajax请求导致的。查看文档得知axios默认是不让ajax请求头部携带cookie的,因此,在main.js中设置如下:

import axios from 'axios'

axios.defaults.withCredentials=true;//让ajax携带cookie

Vue.prototype.$axios = axios;

之后,发送请求时,就会带Cookies。参考处 https://blog.csdn.net/wojiaomaxiaoqi/article/details/78487074 

但是,有可能会遇到下面报错:

header报错

原因是:

 当withCredentials属性设置为true,需要response header中的'Access-Control-Allow-Origin'为一个确定的域名,而不能使用'*'这样的通配符。

我这里是在后端index.php中设置的:

header('Access-Control-Allow-Credentials : true');

 

 

Logo

前往低代码交流专区

更多推荐