在jQuery AJAX成功回调中,我希望遍历对象的结果。这是一个在Firebug中显示响应的示例。
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
我如何遍历结果,以便可以访问每个元素?我已经尝试了类似下面的方法,但这似乎不起作用。
jQuery.each(data, function(index, itemData) {
// itemData.TEST1
// itemData.TEST2
// itemData.TEST3
});
发布于 2009-04-09 08:41:29
您可以删除外部循环,并用data.data
替换this
$.each(data.data, function(k, v) {
/// do stuff
});
你很接近了:
$.each(data, function() {
$.each(this, function(k, v) {
/// do stuff
});
});
您有一个对象/贴图数组,因此外部循环将遍历这些对象/贴图。内部循环遍历每个对象元素的属性。
发布于 2011-04-04 03:26:03
您还可以使用getJSON函数:
$.getJSON('/your/script.php', function(data) {
$.each(data, function(index) {
alert(data[index].TEST1);
alert(data[index].TEST2);
});
});
这真的只是对ifesdjeen答案的重新表述,但我认为它可能会对人们有所帮助。
发布于 2009-04-09 08:58:09
如果你使用Fire Fox,只需打开一个控制台(使用F12键)并尝试如下所示:
var a = [
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
];
$.each (a, function (bb) {
console.log (bb);
console.log (a[bb]);
console.log (a[bb].TEST1);
});
希望能有所帮助
https://stackoverflow.com/questions/733314
复制相似问题