快速提问:
我正在使用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
似乎不是描述[]
的正确方法,因为此脚本的第一部分无效。
感谢您的建议。
答案 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
}