Error de tipo no detectado: no se puede usar el operador 'in' para buscar 'longitud' en


101

Error de tipo no detectado: no se puede utilizar el operador 'en' para buscar 'longitud' en "

Este es el error que recibo cuando trato de hacer un $.eacha este objeto JSON:

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

También intenté hacer lo mismo con stringify, pero recibo el mismo error:

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

Si ___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTestelimino parámetros del objeto, $ .each funciona bien.

por que podria estar pasando esto?


4
Formatee su código, es imposible leerlo así. Puede usar el {}botón del editor de texto o sangrar cada línea de código con 4 espacios.
Sidd

Respuestas:


235

El inoperador solo trabaja con objetos. Lo estás usando en una cuerda. Asegúrese de que su valor sea un objeto antes de usarlo $.each. En este caso específico, debe analizar el JSON :

$.each(JSON.parse(myData), ...);

Felix, antes de $ .each tengo JSON.parse, aparece el error cuando en la clave enviar tiene el valor -> "codParameters? ___ DDSESSIONID \ u003d14EA4721A904D6DD71591156996E29F7% 3A% 2FMobilTest".
Iván Alberto Fontalvo Salgado


2
No publique una respuesta si no es una. Edite su pregunta e incluya el código relevante en la pregunta.
Felix Kling

perdí 2 horas, y finalmente lo puse funcionando validator.showErrors(JSON.parse(data)), muchas gracias señor ..
Mohammed Sufian

Recibo este error para $ .each ("ul li", function (k, v) {...});
Cr1xus

18

tal vez olvide agregar el parámetro dataType: 'json' en su $ .ajax

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

Eso me hizo a mí. ¡Gracias!
Luis Rock
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.