2011-11-10 5 views
-1

"잘못된 변수 유형"값을 표시하는 배열에 값이 있습니다. IE 디버거에서 볼 때 "Variant"유형이 있습니다. 이 오류의 원인은 무엇입니까?"잘못된 변수 유형"의 원인. 자바 스크립트?

값은 문자열이어야하며 JavaScript의 해당 배열 항목에 대한 작업은 페이지 요소의 .firstChild.nodeValue에 복사하는 것입니다.

간단한 코드 예제 :

IE에서
response = erHttp.responseText; 
temp = response.split('^^');   
document.getElementById("page_element").firstChild.nodeValue = temp[0]; 
+3

분명히 알 수 있습니다. – GAgnew

+2

실제 코드를 표시 하시겠습니까? –

+0

'for .. in'을 사용하고 있습니까? – alinn

답변

2

, "변형"은 일반적으로는 ActiveX 개체로 작업하는 것을 의미한다. 코드가 문자열을 기다리고 있고 객체가 자동으로 문자열로 변환 될 수없는 경우 당연히 숨 막힐 것입니다.

위의 의견을 감안할 때, 난 당신이 데이터를 얻기 위해 XMLHTTP 객체를 사용하는 가정 할 것, 그리고 당신을 가정하기 전에 개체의 readyStatestatus 속성을 확인하는 것이 좋습니다하고있어 작업 할 responseText 있습니다.

이미 이러한 검사를 수행하고 간헐적 인 오류가 발생하는 경우 (특히 100k 요청에서 1에 해당하는 경우, 정확하게 동일한 데이터를 사용하여 동일한 프로세스를 반복하여 성공시킬 수있는 경우) IE/Windows의 버그이거나 시스템의 특정 결함일까요? 나는 후자쪽으로 기울고있다.

+0

너무 모호한 것에 대해 사과드립니다. stackoverflow 및 마지막 질문에 새로운 것입니다. 너무 구체적이기 때문에 폐쇄되었습니다! 나는이 질문을 "Bad variable type"오류의 원인을 묻는 데 좀 더 일반적인 것으로 만들려고 시도했다. 분명히 이것은 너무 일반적이었다 : S. 여러분은 XMLHTTP 객체를 사용하고 있고 readyState = 4 ||를 이미 확인하고 있다고 가정합니다. responseText를 사용하기 전에 "complete"및 status = 200을 사용하십시오. –