操作数a中的'in'无效

lap*_*ots 2 ajax jquery

我使用jquery将请求发送到服务器$.ajax,它返回JSON.

$.ajax({
  url: 'moreMonth.ajax',
  data: { startIndex: id },
  success: function(data) {
    $.each(data, function(k, v) {
      alert(k + ':' + v); 
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

但我有一个错误

操作数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}
]"
Run Code Online (Sandbox Code Playgroud)

ssi*_*777 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); 
                   });
               }

});
Run Code Online (Sandbox Code Playgroud)