在*中有提到四個方式:
1.在請求的URL後面加一個時間參數,如: time=new date() 當然也可以添加其他性質參數,只要是隨機參數就可以,
open("GET",url+"?t="+Math.random(),false) 或者 url+"?timeStamp="+new Date().getTime();
2. 新增 js 代碼
function ajaxRead(file){
var xmlObj = null;
if(window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return;
}
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
processXML(xmlObj.responseXML);
}
else{
document.getElementById ('playernews').innerHTML='採用AJAX來實現資料的讀取,正在載入...';
}
}
xmlObj.open ('GET', file, true);
xmlObj.send ('');
}
function show() {
ajaxRead('*.jsp');
setInterval("ajaxRead('new.php')",30000); //自動更新
}
3.加上
xmlhttp.setRequestHeader("Cache-Control","no-cache");
4.在XmlHttpRequest發送請求之前加上 XmlHttpRequest.setRequestHeader("If-Modified-Since","0"), 如:在 XXXXX.send(YYYYYY).
我沒有全部利用過,只使用過1就能達成效果。
參考:* 解決Ajax更新不及時的途徑,IT專家網
沒有留言:
張貼留言