请求接口返回数据的为null,怎么去处理?这里是指兼容的一个处理。

一个$http的请求然后数据返回的是


success:{

   data:{

       data:{} //这里正常的情况下是有数据的。为了以防万一这里如果为null的话要怎么进行兼容的处理

    }

}

这里是一个简单的处理方法。


        this.$http({           //调用接口

          method:'POST',

          async:true,

          headers: {'Accept': '*/*'},

          url:this.askListUrl,  //this指data

          data:this.transMyResData  //向后台发送的数据

        }).then(function(response){  //接口返回数据

          if(response.data.data == null){ // 为空的处理

            return "";

          }else {  // 不为空的处理

            that.questions = response.data.data.list;

            that.total = that.questions;

            loading.close();

            if(response.data.data.total>=0){

              that.transMyResData.total=response.data.data.total;

              that.total_3 = response.data.data.total;

            }else{

              that.$message.error('失败');

            }

          }

        },function(error){

          loading.close();

          that.$message.error('网络连接失败')

        })

请教各位怎么才更规范一点。


撒科打诨
浏览 2614回答 2
2回答

SMILET

一般会和后端人员配合,通过code字段判断后端返回的数据,例如:{    code:100    data:null,    message:'没有相关数据'}正常的格式:{    code:0    data:data,    message:''}

慕码人8056858

一般来说不会返回 null 的,会做一个约定,通过错误码和信息来做一个判断。正常情况下返回的数据会是两种样子:// object 类型:data: {...}// array 类型:data: [...]array 类型好搞,直接空数组就完事了;但是如果 object 要表示 空/此查询条件无结果 这类语义,可能还真只能 null 来表示,这种是业务逻辑上的空,错误码一般表示处理逻辑的错误,所以要分情况:如果是处理逻辑错误(用户层输入参数非法/状态异常)那么靠 code 就可以做策略了,然后要记日志,前端提示错误;如果是业务逻辑错误(无对应查询条件的结果)那么只能检查 data === null,然后做对应处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript