json - 当json数据以[] aka empty / null返回时该怎么办

时间:2012-01-18 02:59:25

标签: jquery 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似乎不是描述[]的正确方法,因为此脚本的第一部分无效。

感谢您的建议。

3 个答案:

答案 0 :(得分:3)

您认为“空”的是没有元素的数组。数组具有length属性,因此:

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

这假设returndata在每种情况下都是一个数组(否则,它可能没有length而你会得到错误),但在你的情况下看起来确实如此。

答案 1 :(得分:2)

首先,检查它是否为数组Check if object is array?,然后检查它是否为returndata.length == 0.完成&amp;完成了!

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

“它是一个阵列”检查不是很令人满意,我知道......

答案 2 :(得分:0)

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