AJAX不一致IE 8?(AJAX inconsistency in IE 8?)

2019-11-04 05:18发布

这是我的代码:(相反,狡猾的部分)

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

好。 有时候这工作得很好,但有时JavaScript调试器,在IE告诉我:

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

这相当于....

var requisicao=new XMLHttpRequest();

我有什么错误,有时IE 8接受这一点,并继续前进,但有时它扼流圈和不工作的事实?

任何帮助是值得欢迎

提前致谢

Answer 1:

编辑:很显然,在这种情况下,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)的到来。

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



文章来源: AJAX inconsistency in IE 8?