【发布时间】:2014-06-26 07:41:13
【问题描述】:
我有一个 AJAX 调用,它调用一个控制器。此控制器返回以下 JSON:
{"officeProducts":"[{\"Id\":96,\"MyProperty\":null,\"Enabled\":true,\"Envelope\":{\"Id\":1,\"Quality\":\"God\",\"PaperSize\":\"A4\",\"Type\":\"Window\"}},{\"Id\":169,\"MyProperty\":null,\"Enabled\":true,\"Envelope\":{\"Id\":1,\"Quality\":\"God\",\"PaperSize\":\"A4\",\"Type\":\"Window\"}},{\"Id\":174,\"MyProperty\":null,\"Enabled\":true,\"Envelope\":{\"Id\":1,\"Quality\":\"God\",\"PaperSize\":\"A4\",\"Type\":\"Window\"}},{\"Id\":175,\"MyProperty\":null,\"Enabled\":true,\"Envelope\":{\"Id\":1,\"Quality\":\"God\",\"PaperSize\":\"A4\",\"Type\":\"Window\"}}]"}
现在我想迭代列表。所以我基本上想迭代officeProducts。
我有以下代码,显然我做错了什么,因为我得到:
错误:
Error: Syntax error, unrecognized expression: [{"Id":96,"MyProperty":null,"Enabled":true,"Envelope":{"Id":1,"Quality":"God","PaperSize":"A4","Type":"Window"}},{"Id":169,"MyProperty":null,"Enabled":true,"Envelope":{"Id":1,"Quality":"God","PaperSize":"A4","Type":"Window"}},{"Id":174,"MyProperty":null,"Enabled":true,"Envelope":{"Id":1,"Quality":"God","PaperSize":"A4","Type":"Window"}},{"Id":175,"MyProperty":null,"Enabled":true,"Envelope":{"Id":1,"Quality":"God","PaperSize":"A4","Type":"Window"}}]
我的 AJAX 调用:
self.updateOfficeProducts = function() {
$.ajax({
url: '/SingleLetter/GetOfficeProducts',
type: 'POST',
data: {
'country': self.countryId
},
dataType: 'json',
success: function (data) {
console.log(data.officeProducts);
$(data.officeProducts).each(function (index, ele) {
alert(ele.Id);
});
}
});
};
所以我希望迭代 4 个不同的对象,我可以在其中说出 ele.Id 或 ele.Enabled 之类的内容。相反,我得到了我的语法错误。
我做错了什么? :-) 显然是一些语法问题。
【问题讨论】: