반응형
검색되지 않은 유형 오류: 'in' 연산자를 사용하여 다음 위치에서 'length'를 검색할 수 없습니다.
수집되지 않은 유형 오류: '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
오브젝트에서 $.는 정상적으로 동작합니다.
왜 이런 일이 일어날까요?
그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 );
}
});
나에게 효과가 있었던 유일한 해결책과$.each
확실히 에러의 원인이 되고 있습니다.그래서 저는for loop
더 이상 오류가 발생하지 않습니다.
코드 예시
$.ajax({
type: 'GET',
url: 'https://example.com/api',
data: { get_param: 'value' },
success: function (data) {
for (var i = 0; i < data.length; ++i) {
console.log(data[i].NameGerman);
}
}
});
이것은 나에게 효과가 있다.
$.each(JSON.parse("[" + data + "]"))
$.each
오브젝트에서만 동작합니다.데이터가 배열일 경우 다음과 같이 변경할 수 있습니다.
$data = (object)$array;
언급URL : https://stackoverflow.com/questions/30269461/uncaught-typeerror-cannot-use-in-operator-to-search-for-length-in
반응형
'programing' 카테고리의 다른 글
텍스트 주소를 사용한 Google 지도와 스트리트 뷰 지도 (0) | 2023.04.03 |
---|---|
'관찰 가능' 유형에 'catch' 속성이 없습니다. (0) | 2023.04.03 |
Respect.js: 기본값을 프로펠러로 설정 (0) | 2023.04.03 |
AngularJS / Jasmine 테스트에서의 모킹 데이트 (0) | 2023.04.03 |
JSON 반환이 jquery로 비어 있는지 확인하는 방법 (0) | 2023.04.03 |