2011-11-10 62 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。 –

相关问题