Uncaught TypeError: Cannot use 'in' operator to search for 'length' in
334,985
Solution 1
The in
operator only works on objects. You are using it on a string. Make sure your value is an object before you using $.each
. In this specific case, you have to parse the JSON:
$.each(JSON.parse(myData), ...);
Solution 2
maybe you forget to add parameter dataType:'json' in your $.ajax
$.ajax({
type: "POST",
dataType: "json",
url: url,
data: { get_member: id },
success: function( response )
{
//some action here
},
error: function( error )
{
alert( error );
}
});
Solution 3
this work for me
$.each(JSON.parse("[" + data + "]"))
$.each
only works on objects . if your data is an array you can change it like this
$data = (object)$array;
Related videos on Youtube
Author by
Iván Alberto Fontalvo Salgado
Updated on October 05, 2021Comments
-
Iván Alberto Fontalvo Salgado over 2 years
Uncaught TypeError: Cannot use 'in' operator to search for 'length' in "
This is the error I receive when I try to do a
$.each
to this JSON object :{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}
I have also tried to do the same with stringify, but I receive the same error:
{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"
If I remove parameters
___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest
from the object the $.each works fine.Why might this be happening?
-
Sidd almost 9 yearsPlease format your code, it's impossible to read it like this. You can use the
{}
text editor button, or indent every code line 4 spaces.
-
-
Iván Alberto Fontalvo Salgado almost 9 yearsFelix, before $.each I have JSON.parse , the error appears when in the key submit have the value -> "codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest".
-
Felix Kling almost 9 yearsPlease post your code, I can't repro the error you are describing: jsfiddle.net/5asbeatq
-
Felix Kling almost 9 yearsDon't post an answer if it isn't one. Edit your question and include the relevant code in the question.
-
Mohammed Sufian over 7 yearswasted 2 hours, and finally got it working using
validator.showErrors(JSON.parse(data))
, thanks a lot sir.. -
Cr1xus almost 6 yearsI get this error for $.each("ul li",function(k,v){ ... });
-
Luis Rock over 4 yearsThat did it to me. Thanks!
-
Raju Paladiya over 4 yearsThanks @FelixKling, You saved my lot's of time. After convert string to Array it's working fine.
-
Mech about 4 yearsThanks from 2020!
-
Jesper over 2 yearsThis does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review