[javascript] 포착되지 않은 TypeError : ‘길이’를 검색하는 데 ‘in’연산자를 사용할 수 없습니다.

포착되지 않은 TypeError : ‘in’연산자를 사용하여 ‘에서’길이 ‘를 검색 할 수 없습니다.

$.eachJSON 객체에 대해 수행하려고 할 때 수신하는 오류입니다 .

{"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 );
   }
});


답변