我在数组中有一个值,显示值“Bad variable type”。和在IE调试器中查看时类型“Variant”。什么可能导致此错误?
该值应该是一个字符串,JavaScript中该数组项的唯一操作是将其复制到页面元素的.firstChild.nodeValue。
简化代码示例:
response = erHttp.responseText;
temp = response.split('^^');
document.getElementById("page_element").firstChild.nodeValue = temp[0];
答案 0 :(得分:2)
在IE中,“Variant”通常意味着您正在使用ActiveX对象。如果代码期望一个字符串,并且你的对象不能自动地字符串化,那么当然它会窒息。
鉴于您的上述评论,我将假设您正在使用XMLHTTP对象来获取数据,并建议您在假设您之前检查对象的readyState
和status
属性有一个responseText
可以使用。
如果您已经进行了这些检查并且仍然出现间歇性错误(特别是如果它在100k请求中为1,并且如果您可以使用完全相同的数据重复完全相同的过程并使其成功),那么很可能它可能是IE / Windows中的错误,也可能是您机器特有的故障。我倾向于后者。