ts+vue使用asios请求本地资源文件返回数据undefined


在网上找了好久,最后发现是在axios请求拦截的时候忘记返回response了
各位好好检查一下自己axios响应拦截的请求参数有没有正常返回

axios.interceptors.response.use(
  response => {
    const res = response.data; // 增加一个code码判断当前请求状态
    if (res.code !== 200) {
     	return response; // 之前这里忘记返回response了,所以axion请求返回一直都是undefined 
    } else {
      return response;
    }
  },

顺便补充一个小点

// 请求拦截器
axios.interceptors.request.use(
  (config:AxiosRequestConfig) => {
  	// 在ts中有严格的类型检查,如果直接用链试点用可能会报错----对象可能为“未定义”。ts(2532)
    // config.headers["X-Access-Token"] = UserModule.token;

	// 用下面这种方法可以解决报错
    config.headers = {
      ...config.headers,
      'Content-Type': 'application/json;charset=utf8',
      Authorization: getToken() || ''
    };
    return config;
  },
  error => {
    Promise.reject(error);
  }
);
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐