Jquery 检查.getJSON是否返回了任何数据

Jquery 检查.getJSON是否返回了任何数据,jquery,ajax,jquery-ui,knockout.js,Jquery,Ajax,Jquery Ui,Knockout.js,我正在尝试使用KnockOutJS和jQuery——有没有办法检查下面的allData,看看它是否返回了什么 如果没有,我想在屏幕上隐藏一个div: $(document).ready(function () { $("#thankyou").hide(); // hide thank you box $("#searchBtn").click(function () { $.getJSON("/api/searchapi/", function (allData) {

我正在尝试使用KnockOutJS和jQuery——有没有办法检查下面的allData,看看它是否返回了什么

如果没有,我想在屏幕上隐藏一个div:

$(document).ready(function () {

$("#thankyou").hide(); // hide thank you box

$("#searchBtn").click(function () {

    $.getJSON("/api/searchapi/", function (allData) {
        sampleProductCategories = allData;  // I want to check if this has returned anything?
        if(!allData) { alert("nothing");}
        cart.RoomCategories(sampleProductCategories);
    });
 });
});
Firebug将空JSON显示为:

由于“空数据”是一个空数组,只需测试它的长度即可

if (allData.length) {
    // we have data
}
else {
    // we don't have data
}

谢谢@kevin-b-我还使用了:`if(jQuery.isEmptyObject(allData)){alert(“empty”);}`这也有效。非常感谢,MarkDon't use
jQuery.isEmptyObject(array)
。该函数用于普通对象,而不是数组。它可能会起作用,但任何阅读您的代码的人都会对您的意图感到困惑<代码>数组。长度是测试空数组的正确方法。