遇到Jquery / JSON问题

时间:2012-02-09 11:59:44

标签: jquery asp.net json

我正在尝试迭代从我的代码隐藏生成的JSON响应。我的代码返回的字符串是:

[{"Symbol":"^GDAXI","Last":"6787.49","Change":"+38.73"},{"Symbol":"^FTSE","Last":"5894.65","Change":"+18.72"}]

我正在尝试使用以下方法进行迭代:

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript" src="/Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
        $.ajax({
            type: "POST",
            url: "Stocks.asmx/GetQuote",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (stocks) {
                $(stocks).each(function (index) {
                    $('#stocks').append("<li>" + this.Symbol + "</li>");
                });                    
            }
        });
    });
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
    <ul id="stocks"></ul>
</p>
</asp:Content>

我得到的只是一个带有'undefined'的li项目。

我哪里错了?

2 个答案:

答案 0 :(得分:2)

.each()看起来不正确。

尝试:

$(stocks).each(function (index, value) {
    $('#stocks').append("<li>" + value.Symbol + "</li>");
}); 

答案 1 :(得分:0)

传递给'each'的回调接收两个参数。你必须写这样的东西:

$(stocks).each(function(index, data){ console.log(data.Symbol); });