Jquery 检查.getJSON是否返回了任何数据
我正在尝试使用KnockOutJS和jQuery——有没有办法检查下面的allData,看看它是否返回了什么 如果没有,我想在屏幕上隐藏一个div: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) {
$(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)
。该函数用于普通对象,而不是数组。它可能会起作用,但任何阅读您的代码的人都会对您的意图感到困惑<代码>数组。长度是测试空数组的正确方法。