vue axios请求成功却进入catch的原因分析

问题:post请求-URL传参方式 axios返回200状态码(请求成功),数据不更新却走进了catch里面

原因: then()方法里的逻辑代码错误,所以接口走进了catch,具体如下:

post: function (url, params, successCallBack, errorCallBack) {
    service.post(url, params, FORM_DATA_TYPE)
      .then(function (response) {
        if (response && response.code.toString() === "200") {
          successCallBack(response);
        } else {
        debugger;
          errorCallBack(response);
        }
      }).catch(function (error) {
        errorCallBack(error);
      })
  }



searchTag: "/graph/searchGraphTag",  // 主体字典 列表
    searchGraphTag: function (params, succesCallback, errorCallback) {
      service.postA(this.searchTag + '?' + params, succesCallback, errorCallback)
    },

 let params = 'tagName='+that.tagName+'&pageNo='+that.pageNum+'&pageSize='+that.pageSize;
 that.httpService.configManage.searchGraphTag(
        params,
        function(res) {
          if (res.code == '200') {
            that.mainData = res.data.data;
            // that.elMsg(res.msg,'success',true)
            that.totals = Number(res.data.recordsTotal);
          }
        },
        function(error) {
          that.elMsg(error.msg, "error", true);
        }
      );

 接口成功却没有数据,检查发现是因为then()的逻辑不对,多传了一个参数,所以进入了catch里面;修改如下:

postA: function ( params, successCallBack, errorCallBack) {
    service.post( params, FORM_TYPE)
      .then(function (response) {
        if (response && response.code.toString() === "200") {
          successCallBack(response);
        } else {
          errorCallBack(response);
        }
      }).catch(function (error) {
        errorCallBack(error);
      })
  },

searchTag: "/graph/searchGraphTag",  // 主体字典 列表
    searchGraphTag: function (params, succesCallback, errorCallback) {
      service.postA(this.searchTag + '?' + params, succesCallback, errorCallback)
    },

完美解决 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值