it-roy-ru.com

Uncaught TypeError: Невозможно использовать оператор "in" для поиска "length" в

Uncaught TypeError: Невозможно использовать оператор «in» для поиска «length» в "

Это ошибка, которую я получаю, когда пытаюсь сделать $.each для этого объекта JSON:

{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}

Я также пытался сделать то же самое с stringify, но я получаю ту же ошибку:

{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"

Если я удаляю параметры ___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest из объекта, $ .each работает нормально. 

Почему это может происходить?

Заранее спасибо.

71

Оператор in работает только с объектами. Вы используете это в строке. Убедитесь, что ваше значение является объектом, прежде чем использовать $.each. В этом конкретном случае вы должны проанализировать JSON :

$.each(JSON.parse(myData), ...);
166
Felix Kling

может быть, вы забыли добавить параметр dataType: 'json' в ваш $ .ajax 

$.ajax({
   type: "POST",
   dataType: "json",
   url: url,
   data: { get_member: id },
   success: function( response ) 
   { 
     //some action here
   },
   error: function( error )
   {
     alert( error );
   }
});
0
Tri W. Herlambang