我无法从 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>";
它向页面返回“未定义”。我做错了什么?
感谢您的帮助。
最佳答案
数据以 JSON 的字符串表示形式返回,您没有将其转换回 JavaScript 对象。将 dataType
设置为 'json'
以使其自动转换。
https://stackoverflow.com/questions/5289078/