我正在创建一个链接共享网站,并且在我的index.php页面上(我想每5秒刷新一次页面)有些帖子/链接必须自动出现(AJAX刷新)而用户无需刷新/她自己或一直按F5。
这究竟如何运作?
答案 0 :(得分:4)
您应该使用setInterval
javascript函数来解决此问题。
setInterval(callServer, REFRESH_PERIOD_MILLIS);
请参阅:
答案 1 :(得分:1)
是否需要使用AJAX? 除非我遗漏了什么;你可以使用元刷新标签:
<meta http-equiv="refresh" content="5">
我建议增加刷新之间的时间,因为这会给服务器带来更重的负担,并可能导致冻结或减慢网站速度。
答案 2 :(得分:1)
你必须使用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>
答案 3 :(得分:0)
使用setInterval(myAjaxCallbackfunction,[以ms为单位的时间])。 回调使用js的属性,该函数是第一类成员(可以分配给变量),并且可以作为参数传递给函数以供以后使用。
答案 4 :(得分:0)