【发布时间】:2019-05-21 16:05:26
【问题描述】:
我正在尝试循环产品数组中的所有项目。 使用 ajax 调用,我从 API 获得以下响应:
productData = {"product":[{"id":"9200000083451240","title":"Apple Lightning Cable"},{"id":"9200000098453451","title":"Apple iPhone XR"}],"totalResultSize":2}
正如您所见,我需要的数据位于变量“productData”中,如何从我的 AJAX 响应数据中访问它?
我尝试了 data.productData.product 和其他一些东西,但没有任何效果。
var searchTerm = $("#searchterm").val();
$.ajax({
url: 'https://api.com/search?term=' + searchTerm,
type: 'GET',
}).done(function (data) {
$.each(data.productData.product, function (index, element) {
console.log(element.title);
});
console.log('---- Data ----');
console.log(data);
});
请帮忙。
【问题讨论】:
-
您是说第一个代码示例是您返回到 AJAX 请求的内容吗?如果是,则无效;您需要从一开始就删除
productData = -
@RoryMcCrossan 是的,第一个代码示例是 ajax 调用数据有效负载。简单地剥离“productData =”是一种选择,但这是要走的路还是我应该以不同的方式处理?
-
您必须将其删除,没有其他选择。您现在返回的不是有效的 JSON。另请注意,您在数组的第一个对象中的属性之间缺少逗号。一旦你修复了这个改变循环通过
data.product,你的逻辑就会起作用。 -
@RoryMcCrossan 好的!估计是我想太多了。谢谢
标签: javascript jquery json api