账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue 尝试使用token来验证登录,设置了请求拦截器遇到的问题
    33
    0

    1、登录页面提交用户名和密码后,获得了token,并保存在了localStorage和store中
    2、在axios封装文件http.js中设置了请求拦截器,代码如下

    //添加请求拦截器
    axios.interceptors.request.use(config => {
        if (localStorage.getItem('token')) {
        config.headers.Authorization = localStorage.getItem('token');
        }
        return config;
    },error => {
        return Promise.reject(error);
    });

    问题:刷新页面后,console提示如下错误

    Access to XMLHttpRequest at 'http://127.0.0.1/api/v1.info/list?page=1&limit=10' from origin 'http://localhost:8080' has been blocked by CORS policy: Request header field authorization is not allowed by Access-Control-Allow-Headers in preflight response.

    把请求拦截器的这段代码去掉,就是正常的

        if (localStorage.getItem('token')) {
        config.headers.Authorization = localStorage.getItem('token');
        }

    而且跨域问题,在php后端已经设置过下面代码了

    header('Access-Control-Allow-Origin:*');
            header('Access-Control-Allow-Methods:POST');
            header('Access-Control-Allow-Headers:x-requested-with,content-type');

    不知道是什么原因,求解?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部