【发布时间】:2011-07-14 10:18:26
【问题描述】:
我无法从 JQery.ajax 调用中获取 JSON 对象的内容。我的电话:
$('#Search').click(function () {
var query = $('#query').valueOf();
$.ajax({
url: '/Products/Search',
type: "POST",
data: query,
dataType: 'application/json; charset=utf-8',
success: function (data) {
alert(data);
for (var x = 0; x < data.length; x++) {
content = data[x].Id;
content += "<br>";
content += data[x].Name;
content += "<br>";
$(content).appendTo("#ProductList");
// updateListing(data[x]);
}
}
});
});
似乎正确返回了 JSON 对象,因为“alert(data)”显示以下内容
[{"Id": "1", "Name": "Shirt"}, {"Id": "2", "Name":"Pants"}]
但是当我尝试使用以下方式向页面显示 ID 或名称时:
content = data[x].Id;
content += "<br>";
content += data[x].Name;
content += "<br>";
它向页面返回“未定义”。我做错了什么?
感谢您的帮助。
【问题讨论】:
-
文档有帮助。 api.jquery.com/jQuery.ajax 表明
'application/json; charset=utf-8'不是dataType的有效值。 -
通过JSON.parse()转成json