我已经建立了一个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,如果有帮助的话。我究竟做错了什么?这是一个错误吗?
最佳答案
每次发出请求时,都可能要取出缓存的副本。
在服务器上设置正确的缓存头
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Pragma: no-cache' );
或将查询字符串附加到get请求中,如下所示
ajaxRequest.open("GET", "pull.php?ts=" + new Date().getTime(), true);