2012-01-18 32 views
0

快速的問題要做到:JSON - 什麼時候JSON數據恢復爲[]又名空/空

我使用jQuery AJAX調用返回一些JSON數據的頁面。有時它會返回完整的數據,有時它會返回爲空作爲[]

我希望腳本在回到空[]或數據時做不同的事情。當數據返回時,一切工作正常,但我似乎無法讓事情在返回空時作爲[]。下面是我有:

success: function (returndata){ 
     if (returndata === null) 
     { 
      $("#versionBox").remove(); 
     } 
else { 
     $.each(returndata, function() 
       { 
        var tag = this["name"]; 
        var linkname = "textdisplay.php?flag=<?php echo $fs; ?>&ed=" + tag; 
         $('#versionBox').append("<p><a href='" + linkname + "'>" + tag + "</a></p>"); 
       }); 

     } 

null似乎並沒有被描述[]因爲這個劇本的第一部分是不工作的正確方法。

感謝您的建議。

回答

2

首先,檢查它是否是數組Check if object is array?,然後如果其returndata.length == 0.完成&完成!

if(Object.prototype.toString.call(returnData) === '[object Array]') { 
    if(returnData.length == 0) 
     alert('it is []'); 
} 

的「是一個數組」檢查不是很滿意,我知道......

3

你所認爲的「空」是什麼,沒有元素的數組。陣列具有length屬性,因此:

if (returndata.length == 0) // "empty" return 

這假定returndata是在任何情況下一個數組(否則,它可能沒有length,你會得到錯誤),但在你的情況下,它看起來的確是。

0
if (returndata){ 
    //if the return data has content 
} else { 
    //when it does not 
}