首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AJAX的成功会导致jQuery循环吗?

AJAX的成功会导致jQuery循环吗?
EN

Stack Overflow用户
提问于 2009-04-09 08:16:00
回答 11查看 472.4K关注 0票数 160

在jQuery AJAX成功回调中,我希望遍历对象的结果。这是一个在Firebug中显示响应的示例。

代码语言:javascript
复制
[
 {"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
 {"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
 {"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]

我如何遍历结果,以便可以访问每个元素?我已经尝试了类似下面的方法,但这似乎不起作用。

代码语言:javascript
复制
jQuery.each(data, function(index, itemData) {
  // itemData.TEST1
  // itemData.TEST2
  // itemData.TEST3
});
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-04-09 08:41:29

您可以删除外部循环,并用data.data替换this

代码语言:javascript
复制
$.each(data.data, function(k, v) {
    /// do stuff
});

你很接近了:

代码语言:javascript
复制
$.each(data, function() {
  $.each(this, function(k, v) {
    /// do stuff
  });
});

您有一个对象/贴图数组,因此外部循环将遍历这些对象/贴图。内部循环遍历每个对象元素的属性。

票数 267
EN

Stack Overflow用户

发布于 2011-04-04 03:26:03

您还可以使用getJSON函数:

代码语言:javascript
复制
    $.getJSON('/your/script.php', function(data) {
        $.each(data, function(index) {
            alert(data[index].TEST1);
            alert(data[index].TEST2);
        });
    });

这真的只是对ifesdjeen答案的重新表述,但我认为它可能会对人们有所帮助。

票数 84
EN

Stack Overflow用户

发布于 2009-04-09 08:58:09

如果你使用Fire Fox,只需打开一个控制台(使用F12键)并尝试如下所示:

代码语言:javascript
复制
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);
});

希望能有所帮助

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/733314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档