“对象不支持此属性或方法”IE 7,8& 9

时间:2011-06-27 10:51:33

标签: javascript ajax internet-explorer xmlhttprequest

我已经看过几次这个错误,但还没有找到解决方案 - 这就是我的方案。

我正在使用一个AJAX调用,它在FF,Safari,Chrome和& IE6。但是在IE8,IE7和IE9中我收到以下错误,那么页面就挂起了AJAX加载器.gif我已经设置了:

Line: 84
Char: 3
Error: Object doesn't support this property or method

有问题的剧本似乎涉及这个:

function placeMarkers() {

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

xmlhttp.open("GET","/maps/items.xml.php?childcare=<?php echo $_GET['childcare'];?>",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 
}

当我在IE9中刷新页面时,脚本似乎有效,但是在使用表单执行搜索时却没有。

错误中提到的行是:

 var xmlhttp=new XMLHttpRequest();
  • 仅为了您的信息,脚本打开的XML文件是使用PHP生成的,因为它是根据$ _GET查询字符串生成的。

  • 另外,我在页面上还有另外两个AJAX函数,它们都像上面那样进行浏览器检查 - 不确定这是否会导致问题?

  • 该网站基于Wordpress安装。

  • 该网站包含JQuery和Google Maps API脚本(虽然我不知道这会如何导致问题?)

如果有人有任何想法,请告诉我 - 这就是我需要修复以完成项目的全部内容。如果您需要更多信息,也请告诉我,我会提供。

1 个答案:

答案 0 :(得分:1)

在这一整天工作之后,我终于能够解决它了 - 使用Jquery AJAX而不是JavaScript。令人难以置信的更容易和更好的支持。 (感谢@mkilmanas)

以下是我使用的一些非常有用的教程:

http://kyleschaeffer.com/best-practices/the-perfect-jquery-ajax-request/

http://www.xml.com/pub/a/2007/10/10/jquery-and-xml.html

http://www.vagrantradio.com/2009/10/how-to-parse-xml-using-jquery-and-ajax.html

http://api.jquery.com/jQuery.ajax

基本上,所有JavaScript AJAX用户,如果你遇到这个问题 - 让它运行的最快方法是将你的AJAX调用改为JQuery,你就可以在几分钟内完成它!