Javascript 为什么';我的for循环是否在我的getJSON请求中执行?
我不确定这是否可能是由于异步执行。我的JavaScript知识非常有限,所以我无法确定为什么不工作,但在另一个网页上运行的是完全相同的结构。我还确保get请求找到了数据Javascript 为什么';我的for循环是否在我的getJSON请求中执行?,javascript,jquery,Javascript,Jquery,我不确定这是否可能是由于异步执行。我的JavaScript知识非常有限,所以我无法确定为什么不工作,但在另一个网页上运行的是完全相同的结构。我还确保get请求找到了数据 $.getJSON(products_url, function(data) { // console.log(data) // has length 2 for (var i=0; i <= data.length; i++) { console.log(data[i]); } }
$.getJSON(products_url, function(data) {
// console.log(data) // has length 2
for (var i=0; i <= data.length; i++) {
console.log(data[i]);
}
});
更新:解决方案
对于其他可能遇到这个问题的人,Vlaz回答突出了我的错误。数据是请求返回的对象。要访问数据本身,需要data.data。因此,正确的代码如下所示:
$.getJSON(products_url, function(data) {
// console.log(data);
for (var i=0; i <= data.data.length; i++) {
console.log(data.data[i]);
}
})
$.getJSON(产品、url、函数(数据){
//控制台日志(数据);
对于(var i=0;我可以向您发布数据
?您在JS控制台中是否有任何错误?(F12)数据的类型是什么?数组还是JSON对象?这意味着data
是一个具有名为data
的属性的对象,而该属性是一个数组。因此,您需要data.data.length
谢谢Vlaz!您的解决方案成功了。我没有注意到嵌套。
$.getJSON(products_url, function(data) {
// console.log(data);
for (var i=0; i <= data.data.length; i++) {
console.log(data.data[i]);
}
})