我已经看过几次这个错误,但还没有找到解决方案 - 这就是我的方案。
我正在使用一个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脚本(虽然我不知道这会如何导致问题?)
如果有人有任何想法,请告诉我 - 这就是我需要修复以完成项目的全部内容。如果您需要更多信息,也请告诉我,我会提供。
答案 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,你就可以在几分钟内完成它!