אהלן
אני בונה פה ללקוח עמוד סטטוס שמציג את המצב של האתר שלו
ואמור להתעדכן כל 30 שניות דרך AJAX
אני פשוט מציג span id="xx" ולשם מעדכן את התוכן
הבעיה היחידה - זה לא מעדכן
זה מריץ את זה פעם אחת אבל לא מעדכן
הנה הקוד של העדכון והקריאה:
HTML קוד:
var detailID = 0;
function UpdateDetails() {
if(detailID) {
clearTimeout(detailID);
detailID = 0;
}
ajax("details.php?show=onlinemembers", "onlinemembers");
ajax("details.php?show=onlinevips", "onlinevips");
ajax("details.php?show=onlinevips", "onlinevips2");
ajax("details.php?show=onlineguests", "onlineguests");
ajax("details.php?show=onlinetotal", "onlinetotal");
ajax("details.php?show=uniquetoday", "uniquetoday");
ajax("details.php?show=uniquetotal", "uniquetotal");
ajax("details.php?show=pagestoday", "pagestoday");
ajax("details.php?show=pagestotal", "pagestotal");
ajax("details.php?show=membersregular", "membersregular");
ajax("details.php?show=membersvip", "membersvip");
ajax("details.php?show=membersvip", "membersvip2");
ajax("details.php?show=membersedit", "membersedit");
ajax("details.php?show=memberstotal", "memberstotal");
ajax("details.php?show=financetoday", "financetoday");
ajax("details.php?show=financeyesterday", "financeyesterday");
ajax("details.php?show=financetotal", "financetotal");
ajax("details.php?show=arrows", "arrows");
ajax("details.php?show=last10", "last10");
detailID = setTimeout("UpdateDetails()", 30000);
}
והנה הקוד של ה AJAX:
HTML קוד:
function GetXmlHttpObject(handler) {
var objXmlHttp=null
if (navigator.userAgent.indexOf("MSIE")>=0) {
var strName="Msxml2.XMLHTTP"
if (navigator.appVersion.indexOf("MSIE 5.5")>=0) {
strName="Microsoft.XMLHTTP"
}
try {
objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler
return objXmlHttp
}
catch(e) {
alert("Error. Scripting for ActiveX might be disabled")
return
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0) {
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler
return objXmlHttp
}
}
function ajax(url,targ) {
targe = targ;
xmlHttp = GetXmlHttpObject(stateChanged);
xmlHttp.open("GET", url , true);
xmlHttp.send(null);
}
function stateChanged() {
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
document.getElementById(targe).innerHTML=xmlHttp.responseText;
}
}
תודה מראש
