2011-09-10 6 views
1

私はAJAXで1秒ごとにリフレッシュするHTMLを取得しようとしていましたが、私はこのコードを私が見つけた別のウェブサイトからのビットで作りました。私はそれがどのように機能するのか理解しようとしています。AJAXとオートリフレッシュ

ブラウザでリロードせずにページをリフレッシュできるようにしたいと思い、JS関数AJAXdisplay()を使用したいと思います。 AJAXreturn()に送る変数で1秒ごとに実行します。私はそれを呼び出すとき。

私がAJAXreturn()を呼び出すと、私はそれがAJAXdisplay()を実行したい。インデックスファイルは、私がここにこの

<body onClick=:AJAXdisplay(same variables as used when the page was made);">    

</body>  

のような気にいらないが、私のコードであるかどう一度私の体の上に、私のPHPファイルからHTMLをプリントアウトする:

function getHTTPObject(){ 
if (window.ActiveXObject) { 
    return new ActiveXObject("Microsoft.XMLHTTP"); 
} 
if (window.XMLHttpRequest){ 
    return new XMLHttpRequest(); 
} 
else { 
    alert("Your browser does not support AJAX."); 
    return null; 
} 
} 

function AJAXsend(url) { 
httpObject = getHTTPObject(); 
if (httpObject != null) { 
    httpObject.open("POST",url); 
    httpObject.send(null); 
} 
} 

function AJAXreturn(url,pageName){ 
httpObject = getHTTPObject(); 
if (httpObject != null) { 
    if (navigator.appName != "Microsoft Internet Explorer") { 
     history.replaceState("", "", "index.php?page=" + pageName) 
    } 
    httpObject.open("POST",url); 
    httpObject.send(null); 
    AJAXdisplay(httpObject,url,pageName); 
} 
} 

function AJAXdisplay(httpObjectIn,urlIn, pageNameIn){ 
httpObjectIn.onreadystatechange = function(){ 
    if(httpObjectIn.readyState == 4){ 
     document.getElementById('outputHTML').innerHTML = httpObjectIn.responseText; 
     AJAXdisplay('function(httpObjectIn,urlIn,pageNameIn)',1000); 
    } 
} 
} 
+0

russell.selfip.netが今どこ –

+0

は、多分私はにこのすべてを置く必要があります1つの関数? –

答えて

2

ではJavaScriptリフレッシュを作るために、あなたが使用する必要がありますsetInterval();機能。ここにあなたが探して何:

var timer = setInterval ("AJAXdisplay(variable);", 1000); 

そして、あなたが今まで更新を停止する必要がある場合は使用します。

clearInterval (timer);