我正在尝试学习JSON,并在尝试读取jQuery文件时继续获得相同的错误。以下是javascript代码:
$(function (){
var $orders = $('#orders');
$.ajax({
type: 'GET',
url: '/api/orders',
success: function(orders) {
$.each(orders, function(i, order) {
$orders.append('<li>my order</li>');
});
}
});
});以下是JSON代码:
"order":[
{"id":1, "name":"Ben", "drink":"Americano w/ Creme"},
{"id":2, "name":"Ben2", "drink":"Americano w/ Creme2"},
{"id":3, "name":"Ben3", "drink":"Americano w/ Creme3"}
]我一直在犯这个错误:
Uncaught TypeError: Cannot use 'in' operator to search for '191' in "order":[
{"id":1, "name":"Ben", "drink":"Americano w/ Creme"},
{"id":2, "name":"Ben2", "drink":"Americano w/ Creme2"},
{"id":3, "name":"Ben3", "drink":"Americano w/ Creme3"}
]
jquery.js:584
isArraylikejquery.js:359
jQuery.extend.eachmain.js:10
$.ajax.successjquery.js:3143
jQuery.Callbacks.firejquery.js:3255
jQuery.Callbacks.self.fireWithjquery.js:9309
donejquery.js:9713
jQuery.ajaxTransport.send.callback有谁知道我为什么老是犯这个错误吗?提前感谢任何人的帮助。
发布于 2015-02-14 16:14:31
设置dataType: 'json',因为orders是JSON字符串而不是JS对象
$.ajax({
dataType: 'json',
type: 'GET',
url: '/api/orders',
success: function(orders) {
$.each(orders, function(i, order) {
$orders.append('<li>my order</li>');
});
}
});
dataType: 'json'-将响应计算为JSON,并返回一个JavaScript对象。
https://stackoverflow.com/questions/28517481
复制相似问题