对于我的个人网站,我想在我的网站中插入一个简单的 ajax 服务器时钟,但由于某种原因它没有显示在标题中。这是 JavaScript 代码
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>
最佳答案
我必须在上下文中查看更多代码,因为有几个因素可能会导致此方法不起作用,同时,您的脚本存在多个问题,其中包括:
您执行了 setTimeout()。假设您希望时钟每秒更新一次,那么这只执行一次:
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 操作等时变得更加轻松...
关于javascript - Ajax 无法在网站上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29932917/