【发布时间】:2011-05-14 23:57:31
【问题描述】:
我做了一个 AJAX 聊天室;它适用于 chrome 和 FF,但当然不适用于 IE。这是我的代码:
<script language="javascript" type="text/javascript">
<!--
//Browser Support Code
function ajaxFunction(){
var ajaxRequest;
try {
ajaxRequest = new XMLHttpRequest();
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4) {
var ajaxDisplay = document.getElementById('ajaxDiv');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "pull.php", true);
ajaxRequest.send(null);
}
setInterval( "ajaxFunction()", 1000 );
//-->
</script>
结果从不显示。如果对任何人有帮助,我有一个名为 AjaxDiv 的 div。我究竟做错了什么?这是一个错误吗?
【问题讨论】:
-
或者您可以使用 jquery/mootools,这会将所有内容减少到大约 2 行。这些天滚动你自己的 ajax 处理程序太痛苦了。
-
我考虑过这个选项,但我更担心微软是否会在如此广泛使用的产品中出现错误
-
@Ken 你能提供一个完整的工作示例吗?我复制了您的代码,它在 IE9 (Windows7 x86) 中运行良好:phihag.de/2011/so/ie9-ajax.html。并且 IE8 有相当多的 bug,你也可能不小心将 bug 的 IE8 代码发送到 IE9。
-
发一个例子到jsfiddle.netjsfiddle是你的朋友
标签: javascript html ajax