포착되지 않은 TypeError : ‘in’연산자를 사용하여 ‘에서’길이 ‘를 검색 할 수 없습니다.
이 $.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가 제대로 작동합니다.
왜 이런 일이 발생할 수 있습니까?
답변
in
연산자는 객체에서 작동합니다. 문자열에서 사용하고 있습니다. 를 사용하기 전에 값이 개체인지 확인하십시오 $.each
. 이 특정 경우 에는 JSON 을 구문 분석 해야합니다 .
$.each(JSON.parse(myData), ...);
답변
$ .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 );
}
});