未捕获的TypeError:不能使用'in'运算符来搜索'length'

Ivá*_*ado 92 javascript jquery json getjson

未捕获的TypeError:无法使用'in'运算符搜索"length"中的"length"

这是我尝试$.each对此JSON对象执行此操作时收到的错误:

{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}
Run Code Online (Sandbox Code Playgroud)

我也尝试用stringify做同样的事情,但是我收到了同样的错误:

{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"
Run Code Online (Sandbox Code Playgroud)

如果我___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest从对象中删除参数,$ .each工作正常.

为什么会发生这种情况?

提前致谢.

Fel*_*ing 207

in操作仅适用于对象.您正在使用字符串.在使用之前,请确保您的值是一个对象$.each.在这种特定情况下,您必须解析JSON:

$.each(JSON.parse(myData), ...);
Run Code Online (Sandbox Code Playgroud)

  • 如果答案不是,请不要发布答案.[**编辑您的问题**](http://stackoverflow.com/posts/30269461/edit)并在问题中包含相关代码*. (2认同)

小智 10

也许您忘记在$ .ajax中添加参数dataType:'json'

$.ajax({
   type: "POST",
   dataType: "json",
   url: url,
   data: { get_member: id },
   success: function( response ) 
   { 
     //some action here
   },
   error: function( error )
   {
     alert( error );
   }
});
Run Code Online (Sandbox Code Playgroud)

  • 那对我来说是这样的。谢谢! (2认同)