jquery - 检查 .getJSON 是否返回任何数据

标签 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) {
        sampleProductCategories = allData;  // I want to check if this has returned anything?
        if(!allData) { alert("nothing");}
        cart.RoomCategories(sampleProductCategories);
    });
 });
});

Firebug 将空 JSON 显示为:

enter image description here

最佳答案

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

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

关于jquery - 检查 .getJSON 是否返回任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745876/

相关文章:

javascript - 如何在 jquery ajax 请求的数据参数中表示 json 数组?

javascript - History.pushState 带有后退和前进按钮

javascript - 在随机位置创建重复元素

javascript - 如何在点击元素时触发网页的谷歌翻译?

javascript - 隐藏 dom 上的所有内容,直到所有内容都加载完毕

javascript - JS 检查日期距今天不超过 6 个月

jquery - 同一页面上的两个 Ajax 调用中的一个无法正常工作

javascript - jQuery 日期选择器函数 : datepicker not a function

jquery-ui - jQuery UI DropShadow - 如何在 div 周围放置阴影

jQuery 可选定制