首页 > 解决方案 > 在每个循环中检测 jQuery 中的空数据

问题描述

当每个循环在 jQuery 中没有返回数据时,我需要输出一些文本,但是在搜索这个网站后我没有这样做,有人可以告诉我哪里出错了,如果它有助于返回的 JSON 数据有一个项目值为0的数组,非常感谢提前!

所需的输出 -console.log('No data has been returned');

$.ajax({
  url: "https://example.com/cart/change.json",
  dataType: "jsonp",
  data: {
    id: remove_id,
    quantity: 0
  },
  success: function(data) {
    $.each(data.items, function(index, item) {
      if (item === null) {
        console.log('empty cart');
      }
    })
  }
});

标签: jqueryjsonajax

解决方案


如果没有项目,forEach 将不会循环。如果 item 未定义,item === null将返回 false。

要检查 data.items 是否返回非空数组,请执行(在循环外)

if (data.items && data.items.length)

并检查一个项目是否存在,只需执行

if (!item)

推荐阅读