2011-11-10 65 views
-1

我在一個數組中顯示值「Bad variable type」。和在IE調試器中查看時的類型「Variant」。什麼可能導致這個錯誤?什麼原因導致「錯誤的變量類型」。在JavaScript中?

該值應該是一個字符串,JavaScript中該數組項的唯一操作是將其複製到頁面元素的.firstChild.nodeValue。

簡化代碼示例:

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

顯然,你這樣做。 – GAgnew

+2

顯示一些實際的代碼? –

+0

你在使用'for .. in'嗎? – alinn

回答

2

在IE中, 「變體」 通常是指你與ActiveX對象的工作。如果代碼需要一個字符串,並且你的對象不能被自動字符串化,當然它會窒息。

鑑於以上您的意見,我要你正在使用XMLHTTP對象來獲取數據的假設,並建議你假設你之前檢查對象的readyStatestatus性能有responseText的工作。

如果您已經在執行這些檢查並仍然發現間歇性錯誤(特別是如果它是針對100k個請求中的1個,那麼如果您可以用完全相同的數據重複完全相同的流程並使其成功)它是IE/Windows中的錯誤還是特定於您的機器的故障。我傾向於後者。

+0

對於太過模糊的道歉,我對stackoverflow和我的最後一個問題由於太具體而被關閉了!我試圖讓這個問題更一般地問一下「壞變量類型」錯誤的原因,顯然這太籠統了:S。 你是正確的,我在使用XMLHTTP對象,我們已經檢查readyState = 4 ||在使用responseText之前,「完成」和status = 200。 –

相關問題