axios 拦截器 网络请求失败,无法判断401

发布于 2022-09-06 11:28:17 字数 390 浏览 13 评论 0

我想判断401,然后重新登录。
我是直接在代码中给token赋值一个错误的值,chrome开发者工具可以看到401状态,axios拦截器返回的error是返回的error是Network Error,没有response属性,无法判断401,问题出在哪里?
图片描述

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

假装爱人 2022-09-13 11:28:17

如果你的api地址是:www.aaa.com:8080/api/开头的,那么可以如下配置代理:

//config/index.js
proxyTable: {
            '/api': {
                target: 'http://www.aaa.com:8080',
                changeOrigin: true,
                pathRewrite: {
                    '^/api': '/api'
                }
            }
        },
陈年往事 2022-09-13 11:28:17

这个问题可能性很多,
1.你前段和后端没有设置跨域。
2.如果后端采用jwt验证权限,那么token超时返回的 respone 是无法截取到状态码的,这时也会报401和跨域问题。但其实问题就是因为token健全失败返回401导致的。

┼── 2022-09-13 11:28:17

这个问题是跨域问题,后端拒绝了前端的请求,网上有挺多跨域问题解决的方式的,可以搜下

御守 2022-09-13 11:28:17

在config->index.js中设置下后台地址代理

proxyTable: {

        '/aaa': {
            target: 'url',
            changeOrigin: true,
            pathRewrite: {
                '^/aaa': ''
            }
        }
    }

1.aaa是任意自己命名的路径~
2.changeOrigin参数,如果为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。

我一直都在从未离去 2022-09-13 11:28:17

这个问题你解决了吗,我现在也遇到跨域问题。不仅是401,所有的错误状态码都获取不到。

横笛休吹塞上声 2022-09-13 11:28:17

你这个问你最后怎么解决的。。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文