Vue中使用axios打印res为undefined解决方法

问题

我在Vue中对axios做了一个封装,封装后进行POST请求。在控制台中,后端响应成功/失败是有返回res数据的,但是响应失败的时候在Vue中打印res却为undefined。试着使用asyncawait也没有效果

 async editInfo() {
      await changePwd(this.form)
        .then((res) => {
          console.log(res);
        .catch((err) => {
          console.log(err);
        });
    },

解决方法

原来是我在axios封装拦截器的时候,忘记把err.response.datareturn出去,所以调用的时候是取不到res失败时候的值,只需在axios封装的时候返回一下;
Vue中使用axios打印res为undefined解决方法_第1张图片

// 2.2.响应拦截 成功/失败
  instance.interceptors.response.use(res => {
    // console.log(res);
    return res.data
  }, err => {
    // 注意!!!这里的res/err必须return 不然取不到值
    return err.response.data;
  })

无论是响应成功/失败,都必须return!!!!
有空的话会出个axios封装的教程(这个在项目中很重要

你可能感兴趣的:(bug解决方案,Vue,前端,vue.js,javascript,前端)