一个$http的请求然后数据返回的是success:{data:{data:{}//这里正常的情况下是有数据的。为了以防万一这里如果为null的话要怎么进行兼容的处理}}这里是一个简单的处理方法。this.$http({//调用接口method:'POST',async:true,headers:{'Accept':'*/*'},url:this.askListUrl,//this指datadata: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('网络连接失败')})请教各位怎么才更规范一点。
2 回答

江户川乱折腾
TA贡献1851条经验 获得超5个赞
一般会和后端人员配合,通过code字段判断后端返回的数据,例如:{code:100data:null,message:'没有相关数据'}正常的格式:{code:0data:data,message:''}

呼唤远方
TA贡献1856条经验 获得超11个赞
一般来说不会返回null的,如@yhlben所说,会做一个约定,通过错误码和信息来做一个判断。正常情况下返回的数据会是两种样子://object类型:data:{...}//array类型:data:[...]array类型好搞,直接空数组就完事了;但是如果object要表示空/此查询条件无结果这类语义,可能还真只能null来表示,这种是业务逻辑上的空,错误码一般表示处理逻辑的错误,所以要分情况:如果是处理逻辑错误(用户层输入参数非法/状态异常)那么靠code就可以做策略了,然后要记日志,前端提示错误;如果是业务逻辑错误(无对应查询条件的结果)那么只能检查data===null,然后做对应处理。
添加回答
举报
0/150
提交
取消