接口怎么判断状态码?

image.png

image.png

我在这个地方怎么获得并判断状态码?

接口配置:

import axios from 'axios';
import router from '../router/index.js'

/*   根据环境变量区分接口默认地址   */
switch (process.env.NODE_ENV) {
    case "production": // 生产地址
        axios.defaults.baseURL = "";
        break;
    case "test": // 测试环境
        axios.defaults.baseURL = "";
        break;
    default: // 默认走本地开发环境
        axios.defaults.baseURL = "";
}

/*   设置超时时间和跨域是否允许携带凭证   */
// axios.defaults.timeout = 10000; // 十秒
axios.defaults.withCredentials = true;

/*   设置请求传递数据的格式  */
axios.defaults.headers.post['Content-Type'] = 'application/json';  // 后台需要的请求头数据格式
axios.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded';
axios.defaults.transformRequest = function (data) {
    return JSON.stringify(data)
}


/*   设置请求拦截器   */
axios.interceptors.request.use(config => { 
    let token = localStorage.getItem('token');
    token && (config.headers.Authorization = token);
    return config;
}, error => {
    return Promise.reject(error);
});
/*   响应拦截器   */
axios.interceptors.response.use(response => {
    return response.data;
}, error => {
    let { response } = error;
    if (response) {
        switch (response.status) {
            case 401: 
                router.push('/login')
                break;
            case 403:
                router.push('/403')
                break;
            case 404:
                router.push('/404')
                break;
            case 500:
                router.push('/500')
                break;
        }
    } else {
        if (!window.navigator.onLine) {
            return;
        }
        return Promise.reject(error);
    }
});
export default axios;~~~~
阅读 3.5k
3 个回答
axios.interceptors.response.use(response => {
    return response.data;
}

这里返回 response,当然建议你复制一下,不然给别的地方都干死了

image.png
你这里返回 response就行了;
哦,楼上大佬已经说了;

新手上路,请多包涵

楼上的两个大佬都把我想说的都说了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题