我正在尝试迭代从我的代码隐藏生成的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项目。
我哪里错了?
答案 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); });