Javascript IE8中的AJAX不一致性?

Javascript IE8中的AJAX不一致性?,javascript,ajax,internet-explorer,post,ie-developer-tools,Javascript,Ajax,Internet Explorer,Post,Ie Developer Tools,这是我的代码:(更确切地说,是其中不可靠的部分) 嗯。有时这很好,但有时IE中的Javascript调试器会告诉我: 对象不支持此属性或方法model.js第59行字符3 这相当于 var requisicao=new XMLHttpRequest(); 让我不安的是,有时候IE8接受了这一点并继续前进,但有时候它会窒息而无法工作 欢迎任何帮助 提前感谢编辑:显然,在这种情况下,Internet Explorer的行号是正确的。这似乎是Internet Explorer 8的常见问题。这里有一

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

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

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

这相当于

var requisicao=new XMLHttpRequest();
让我不安的是,有时候IE8接受了这一点并继续前进,但有时候它会窒息而无法工作

欢迎任何帮助


提前感谢

编辑:显然,在这种情况下,Internet Explorer的行号是正确的。这似乎是Internet Explorer 8的常见问题。这里有一个潜在的解决方案:

以下是守则的相关部分:

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行附近)


我会检查您在对象上调用方法的位置,该对象可能由于任何原因被设置为不同的值。

IE报告的错误行基本上是随机数。你最好使用脚本调试器,让它跳转到真正发生错误的地方,而不是试图找出这个虚构的“第59行”在哪里。我正在使用脚本调试器,它是IE8开发工具的一部分。它准确地告诉我行号,甚至跳转到实际代码,并突出显示问题。所以我认为这是对的。。。还有,因为我在jQuery上遇到了这个问题,但是现在我改回了常规的javascript来解决这个问题。是吗?起初,我使用jQuery。然后,调试器告诉我问题出在jquery.js文件中,在这个区域,大约是:xhr:A.XMLHttpRequest。。。现在我使用的是常规javascript,它也这么说?相同的错误和相同的命令?这不可能是巧合吗?@Felipe:我用XMLHttpRequest搜索了那个错误,发现了这个问题:。您可以从那里尝试解决方案(它有更多的代码,但您可以去掉您需要的部分)。谢谢Matthew。我真的不知道为什么会这样,但是如果您尝试创建ActiveXObject(“Msxml2.XMLHTTP”);对象,然后再创建正常的XMLHttpRequest。更多信息请点击这里。。。再次感谢马修·克拉姆利
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}