猿问

请求接口返回数据的为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('网络连接失败')
})
请教各位怎么才更规范一点。
狐的传说
浏览 4972回答 2
2回答

江户川乱折腾

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

呼唤远方

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

相关分类

JavaScript
我要回答