0

这是我的代码:(确切地说,其中不可靠的部分)

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    var requisicao=new XMLHttpRequest();
} else {
    var requisicao=new ActiveXObject("Microsoft.XMLHTTP");
}

行。有时这很好用,但有时 IE 中的 Javascript 调试器会告诉我:

对象不支持此属性或方法 model.js 第 59 行字符 3

这相当于....

var requisicao=new XMLHttpRequest();

让我烦恼的是,有时 IE 8 接受了这一点并继续前进,但有时它会窒息并且不起作用?

欢迎任何帮助

提前致谢

4

1 回答 1

2

编辑:显然,在这种情况下,Internet Explorer 的行号是正确的。这似乎是 Internet Explorer 8 的一个常见问题。这里有一个潜在的解决方案:Ajax 应用程序适用于某些浏览器,而不适用于其他浏览器

这是代码的相关部分:

try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}

不幸的是,Internet Explorer 的行号并不总是准确的,因为它们是基于它自己的代码的内部序列化。错误消息可能来自不同的行(希望在第 59 行附近)。

我会检查您在对象上调用方法的地方,无论出于何种原因,该方法都可以设置为不同的值。

于 2010-09-08T03:38:56.097 回答