Angularjs处理后端空数据
2014年11月15日 · 57 字 · 1 分钟
Yii1.x DAO中的queryAll方法查询,如果有结果,会返回一个数组,如果没有结果,会返回null。现在分两种情况:
返回空数组
$array = array(
);
echo json_encode($array);
输出为
[]
返回null
$array = null;
echo json_encode($array);
输出为
null
那么问题来了,JS接收这两个的结果是不同的。
如果使用以下代码判断数据:
if(data.length == 0){
//当前评论为空
}else{
//当前评论不为空
}
如果返回 [] ,这段代码是生效的。但是如果返回 null ,这个就有问题了。
后来,使用
if(data == null){
//评论为空
}else{
//评论不为空
}
这个判断老是出问题,后端明明返回null了,判断还是错误的,这时候想到JS也是若类型语言,会不会是类型的问题。
console.log(typeof data)
返回的是**“string”**
那么问题就解决了,用以下代码就可以了
if(data.length == 0 || data == "null"){
//评论为空
}else{
//评论不为空
}