【发布时间】:2012-08-19 07:06:45
【问题描述】:
我目前在一个名为 getresults.js 的文件中有这个 Javascript:
function getItems(str)
{
if (str=="")
{
document.getElementById("getItems").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("getItems").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","/include/retrieveitems.php?q="+str,true);
xmlhttp.send();
}
这个事件调用它:
onclick="getItems('all')"
它在 Firefox、IE、Chrome 中完美运行。但 Opera 拒绝运行。我的访问者中有一小部分是 Opera 用户,但仍然......我宁愿让它工作。可以在此处找到实时网址:http://tf2g.com/gallery
如果有人能提供帮助,非常感谢!
【问题讨论】:
-
可怕,可怕的缩进!我知道这是 w3schools,但你仍然因为离开它而感到内疚:-p
-
另外,AJAX 请求本身也有效。是的,即使在 Opera 中也是如此。尝试记录
status和responseText。不镜像到我的电脑上调试你的页面有点困难。 -
“即使在 Opera 中”?歌剧摇滚。我在本地设置了这段代码,一切正常。同意 - 首先确认回调不会触发。
-
@Utkanos 呃,那是错误的 ;) 我只是想强调我正在 Opera 中进行测试。当然它摇滚!我的主要浏览器:)
标签: javascript ajax opera getelementbyid xmlhttprequest