我无法从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'使其自动转换。
dataType
'json'