【发布时间】:2013-01-17 19:21:19
【问题描述】:
我一直在试图弄清楚如何通过以下代码进行迭代。
var arr = []
$.ajax({
type: 'POST', dataType: 'html', url: '/test/public/index/getid', success: function(response) { response = $.parseJSON(response) $.each(response, function(index, value) { arr.push(value) }); }});
console.log(arr)
$.each(arr, function(index0, value0) {
console.log('INDEX0: ' + value0);
});
这会给我一个关于 firebug 的 [ ] ,我可以扩展它。然后它有 0 和 1 并显示 ids
[ ]
0 1234343
1 2343223
2 414234
3 232342
但稍后在程序中,我尝试使用 $.each 循环它,但它不会读取它。
我试图在通过 console.log 打印时使 arr 看起来像这样。
[“1234343”、“2343223”、“414234”、“232342”]
里面的值是在第一个循环中推送的 id。
知道如何做到这一点吗?尝试获取 arr.length 并将其用作测试条件。
原始 JSON 响应: [“1234343”、“2343223”、“414234”、“232342”]
【问题讨论】:
-
你能发布
response的原始JSON吗? -
还发布此代码:“稍后在程序中我尝试使用 $.each 循环它,但它不会读取它。”
-
"...稍后在程序中我尝试循环通过它",什么是"它"?
-
刚刚添加了下一个代码以及原始 json 响应
-
你试过把console.log放到success函数里面吗?按照现在的设置方式,控制台日志将在 ajax 请求返回之前执行,因此它将始终显示为 []。尝试为您的数组计数设置一个全局变量并默认为 0,然后在您成功(在每个之后)重新计算数组的长度