2015-04-29 78 views
0

對於我的個人網站,我想插入一個簡單的ajax服務器時鐘到我的網站,但由於某種原因它沒有出現在標題中。這裏的Javascript代碼Ajax無法在網站上工作

var httpxml; 
try { 
    // Firefox, Opera 8.0+, Safari 
    httpxml=new XMLHttpRequest(); 
} catch (e) { 
    // Internet Explorer 
    try { 
    httpxml=new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
    try { 
     httpxml=new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (e) { 
     alert("ur browser doesn't support ajax m8, try reinstalling windows 95"); 
     return false; 
    } 
    } 
} 

function stateck() { 
    if(httpxml.readyState==4) { 
    document.getElementById("time").innerHTML=httpxml.responseText; 
    } 
} 

var url="ajax-server-clock-demock.php"; 
url=url+"?sid="+Math.random(); 
httpxml.onreadystatechange=stateck; 
httpxml.open("GET",url,true); 
httpxml.send(null); 
tt=timer_function(); 
} 

function timer_function(){ 
    var refresh=1000; // Refresh rate in milli seconds 
    mytime=setTimeout('AjaxFunction();',refresh) 
} 

而在PHP文件

<?Php 
echo date("d/m/y : H:i:s", time()); 
?> 

最後在頭

<time>bacon</time> 
+2

*「嘗試重新安裝Windows 95」* - 你從哪裏得到該腳本? –

+0

我把它作爲笑話加入。 – Rapidz

+0

嗯,我肯定有一個*咯咯笑出來* ;-) –

回答

2

我會看到更多的代碼在上下文中,因爲有幾種情況可以使這個不行,與此同時,您的腳本還存在多個問題,其中包括:

您做了setTi meout()。這將只執行一次,假設你希望時鐘第二更新每次你需要使用:

http://www.w3schools.com/jsref/met_win_setinterval.asp

哦也,你需要做的是這樣的:

document.getElementsByTagName('time')[0]; 

代替的getElementById ()

或ID添加到您的元素,如:

<time id="mytime"></time> 

然後你可以撥打:

document.getElementById('mytime'); 

明白了嗎?

而且,你在setTimeout中聲明瞭哪裏聲明瞭這個AjaxFunction()?

此外,還有更好的方法做一個時鐘...你真的應該考慮使用jQuery或類似的東西,做AJAX,DOM操作和等時會讓你的生活變得更輕鬆......