为什么我的元素在这个jquery .each()函数中给了我'undefined'...?

时间:2010-10-23 12:17:46

标签: jquery

我对这个jQuery有一些问题....我是新手。看起来它和我从......拿来的例子一样。

$.getJSON('<%= Page.ResolveUrl("~/MyService.aspx") %>',
    function(data) {
        $.each(data, function(index, elem) {
            alert(elem.Name);
        });
    }
);

elem.Name总是说'undefined'!我从我的服务中获得了以下数据......

{"ID":1,"Name":"David Bowie"}

1 个答案:

答案 0 :(得分:4)

你对.each的工作方式感到困惑。

这本身就可以了:

$.getJSON('<%= Page.ResolveUrl("~/MyService.aspx") %>',
    function(data) {
        alert(data.Name);
    }
);
您的JSON回调中的

data是您的JSON数据。

.each函数将迭代该对象中的所有元素,并为每个元素调用一次函数。因此,您的函数将被调用两次 - 一次indexID,一次indexName。鉴于你拥有的对象,这似乎并不合适。