我創建了一個鏈接共享網站,並在我的index.php頁面(我想每5秒刷新一次該頁面)上有帖子/鏈接必須自動出現(AJAX刷新),而無需用戶自行刷新或全程按F5。每5秒用AJAX刷新我的php頁面
這將如何工作,確切地說?
我創建了一個鏈接共享網站,並在我的index.php頁面(我想每5秒刷新一次該頁面)上有帖子/鏈接必須自動出現(AJAX刷新),而無需用戶自行刷新或全程按F5。每5秒用AJAX刷新我的php頁面
這將如何工作,確切地說?
您應該使用setInterval
javascript函數來處理這個問題。
setInterval(callServer, REFRESH_PERIOD_MILLIS);
參見:
使用的setInterval(myAjaxCallbackfunction,[在毫秒時間])。 回調函數使用js的屬性,該函數是第一類成員(可以分配給變量),並且可以作爲參數傳遞給函數供以後使用。
是否需要使用AJAX? 除非我失去了一些東西;您可以使用元刷新標籤:
<meta http-equiv="refresh" content="5">
我會建議增加刷新之間的時間,因爲這將會把服務器上的負荷較重,可能會導致凍結或減慢網站。
我第二次,雖然過時仍然是完全支持所有測試過的瀏覽器;) – dExIT
你有用戶的setInterval方法來調用你的Ajax功能注入新的內容到您的div:
<HTML>
<HEAD>
<TITLE>Hello World Page</TITLE>
<script language="JavaScript">
function xmlhttpPost(strURL) {
var xmlHttpReq = false;
// Mozilla/Safari
if (window.XMLHttpRequest) {
xmlHttpReq = new XMLHttpRequest();
if (xmlHttpReq.overrideMimeType) {
xmlHttpReq.overrideMimeType('text/xml');
// See note below about this line
}
// IE
} else if (window.ActiveXObject) { // IE
try {
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!xmlHttpReq) {
alert('ERROR AJAX:(Cannot create an XMLHTTP instance');
return false;
}
xmlHttpReq.open('GET', strURL, true);
xmlHttpReq.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded');
xmlHttpReq.onreadystatechange = function() {
callBackFunction(xmlHttpReq);
};
xmlHttpReq.send("");
}
function callBackFunction(http_request) {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var responceString = http_request.responseText;
//TODO implement your function e.g.
document.getElementById("myDiv").InnerHTML+ = (responceString);
} else {
alert('ERROR: AJAX request status = ' + http_request.status);
}
}
}
setInterval("xmlhttpPost('test.php')", 5000);
</script>
</HEAD>
<BODY>
Hello World
<div id="myDiv"></div>
</BODY>
</HTML>
看看這個線程 - 它使用jQuery的類似的解決方案。 http://stackoverflow.com/questions/1406580/jquery-ajax-polling-for-json-response-handling-based-on-ajax-result-or-json-cont –