2011-11-10 25 views
-1

"Bad variable type"という値を表示する配列に値があります。 IEデバッガでは "Variant"と入力します。何がこのエラーを引き起こす可能性がありますか?"Bad variable type"の原因は何ですか? JavaScriptで?

値は文字列でなければならず、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オブジェクトを使用していると仮定しよう、とあなたはで動作するようにresponseTextを持っていると仮定する前にオブジェクトのreadyStatestatusプロパティを確認することをお勧めしています。

あなたがすでにこれらのチェックを行っていて断続的なエラーが発生している場合(特に100kリクエストで1の場合、正確に同じプロセスを同じデータを繰り返して成功させることができれば成功する)それはIE/Windowsのバグか、あなたのマシンに特有の不具合ですか?私は後者に向かっている。

+0

あまりにも漠然としています。あまりにも具体的であるために閉鎖された!私は、この問題を "Bad variable type"エラーの原因が何であるかをより一般的なものにしようとしました。明らかに、これはあまりにも一般的でした。 私はXMLHTTPオブジェクトを使用していて、readyState = 4 || responseTextを操作する前に、 "complete"とstatus = 200を指定してください。 –

関連する問題