axios响应拦截的问题

发布于 2022-09-12 00:01:37 字数 1817 浏览 11 评论 0

在react的项目里用到了axios,出现了一个问题。接口请求成功了,但是拦截器没有正确返回数据

从networm可以看到请求成功了
image.png
但是在响应拦截器里没有执行成功的回调函数
import axios from "axios";
import storageUtil from './storageUtil';
import { message } from 'antd';

/**

    • 全局请求配置

*/
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'
axios.defaults.baseURL = 'http://localhost:8112'

/**

    • 请求拦截

*/
axios.interceptors.request.use(

config => {
    let token = storageUtil.getItem('token');
    token && (config.headers['Authorization'] = token);
    return config
},
error => { 
    return Promise.error(error)
}

)

/**

    • 响应拦截

*/
axios.interceptors.response.use(

res => {
    console.log('没有走这里')
    return res.status === 200 ? Promise.resolve(res.data) : Promise.reject(res.msg)
},
err => {
    console.log('为什么到这里了啊')
    if(err.status) {
        switch(err.status) {
            case 401:
                message.info('未登录');
                window.location.href = '/login'
                break;
                //dispatch()
            case 403:
                message.info('登录过期,请重新登录');
                storageUtil.removeItem('token')
                break;
            case 500:
                message.info('未知错误');
                break;
            default:
                message.info(err.msg)
        }
    }
}

)
看到控制台有报错
image.png

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

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

发布评论

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

评论(2

东北女汉子 2022-09-19 00:01:37

报错信息已经告知 3000 与8112是两个不同端口,跨域了。而你的当前header头又明确告知不允许 Access-Control-Allow-origin ,所以无法响应拦截。要正常拦截先解决跨域问题。

权谋诡计 2022-09-19 00:01:37

跨域了啊,你得解决跨域的问题。

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