我使用jquery $.ajax
将请求发送到服务器,并返回JSON。
$.ajax({
url: 'moreMonth.ajax',
data: { startIndex: id },
success: function(data) {
$.each(data, function(k, v) {
alert(k + ':' + v);
});
}
});
但我有错误
操作数a中的'in'无效
据我所知 - 这是success
阻止的问题吗?
日志:
"[
{"name":"Advanced Complexity Theory.rar","size":672398,"present":true,"display":false,"publisherId":1,"downloadDate":"Jun 9, 2014 11:05:28 AM","id":11},
{"name":"Algorithms and Complexity, Internet Edition.rar","size":971299,"present":true,"display":false,"publisherId":1,"downloadDate":"Jun 9, 2014 11:05:28 AM","id":12}
]"
答案 0 :(得分:19)
您正在尝试迭代字符串,这会导致此错误
变量data
是字符串,尝试将其转换为数组。
尝试使用$.parseJSON(data)
$.ajax({
url: 'moreMonth.ajax',
data: { startIndex: id },
success: function(data) {
data = $.parseJSON(data);
$.each(data, function(k, v) {
alert(k + ':' + v);
});
}
});
答案 1 :(得分:1)
首先将数据作为json对象,然后解析它。
使用jQuery.parseJSON(
将字符串转换为json对象
$.ajax({
url: 'moreMonth.ajax',
data: {
startIndex: id
},
success: function (data) {
data = jQuery.parseJSON(data);
$.each(data, function (k, v) {
alert(k + ':' + v);
});
}
});