0
我有一些javascript代碼在更改下拉列表時發出ajax調用。它只是通過從下拉列表中選擇的值,並得到與所選擇的值的集合:Uncaught TypeError:無法使用'in'運算符搜索'161'
$("#ddl").change(function() {
$.ajax({
type: "POST",
url: "/MyService.asmx/GetCollection",
data: "{'selectedId':'" + $(this).val() + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$.each(response.d, function (i, item) {
alert(item.Text);
});
}
});
})
這正常工作,這是JSON響應,我從我的AJAX調用得到。
d:
"[{"Id":"c709b6d3-5841-4240-b25c-9f730530a998","Text":"Item 1"},
{"Id":"c7dd6ee0-836a-4b19-9b88-f8f2455b6e32","Text":"Item 2"}]"
但是,當我在response.d
和警報item.Text
嘗試遍歷每個項目,我收到此錯誤信息:
Uncaught TypeError: Cannot use 'in' operator to search for '161' in [{"Id":"c709b6d3-5841-4240-b25c-9f730530a998","Text":"Item 1"},{"Id":"c7dd6ee0-836a-4b19-9b88-f8f2455b6e32","Text":"Item 2"}]
上午我通過這個錯誤的循環?還是我輸出的內容不正確?
'response.d'是字符串,你不能在字符串中使用'each',將它解析爲JSON,然後使用'each'它 – Tushar
@Tushar - 我可以在jQuery中做到嗎? – Steven
使用'var d = JSON.parse(response.d)',然後在'd'上循環 – Tushar