問題
怎麼判斷ajax結合jQuery 返回的值是否爲空?
首先我的action裏返回的值是map對象:Map<Integer, Object> dataMap;
一般情況下從數據庫裏提取了一個List<??>
數據,然後通過循環將list裏的對象放入dataMap,最後return SUCCESS;然後再通過下面代碼處理數據:
success:function(data){
// console.log("data="+data);
$.each(data,function(i,list){
//在這處理數據,每一個list都是一個返回的對象
});
},
那麼問題來了:
如果dataMap裏沒放list數據,直接return SUCCESS;
也就是所說的“返回的值爲空”,1、這是不會執行到each方法裏的;2、而且if(data)不管“返回值是否爲空”,永遠爲true。經測試我的(data==[object Object ])一直爲true,測試方法爲 用火狐瀏覽器的控制檯查看console.log(“data=”+data);的值。那麼如果想在“返回空值”時做點其他事,該怎麼辦呢?
我的解決方案
主動往dataMap裏放數據:dataMap.put(1, "kong");
有了數據就會執行到each方法裏,
$.each(data,function(i,list){
if(list=="kong"){
//alert("沒有數據");
}else{
//處理數據的代碼
}
});