Ajax不在网站上工作

时间:2015-04-29 01:41:40

标签: javascript php ajax

对于我的个人网站,我想在我的网站中插入一个简单的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>

1 个答案:

答案 0 :(得分:2)

我必须在上下文中看到更多代码,因为有些东西会导致这种情况无效,与此同时,您的脚本会出现多个问题:

你做了setTimeout()。这只会执行一次,假设您希望时钟每秒都需要更新一次:

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

哦,你也需要做一些事情:

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

而不是getElementById()

或者为你的元素添加一个id,如:

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

然后你可以打电话:

document.getElementById('mytime');

得到了吗?

而且,声明这个AjaxFunction()在哪里调用setTimeout?

此外,还有更好的方法可以做一个时钟......你应该考虑使用jQuery或类似的东西,在做AJAX,DOM操作等时会让你的生活更轻松......