javascript - Ajax 无法在网站上运行

标签 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>

最佳答案

我必须在上下文中查看更多代码,因为有几个因素可能会导致此方法不起作用,同时,您的脚本存在多个问题,其中包括:

您执行了 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/

相关文章:

javascript - 如何启动 jQuery 切换折叠?

javascript - 使用 Javascript 突出显示带有子菜单的当前页面链接

JQuery Ajax + Windows 身份验证 = 401 未经授权

javascript - Datatables init ajax请求初始值

javascript - 在大量元素上添加事件监听器的最有效方法是什么?

javascript - 重定向至手机版,同时仍保留域名

php - 无法使用 php 复制文件,权限被拒绝

php - 使用 <a> 元素使整个 block 可点击

php - 在获取表单中为同一复选框字段传递两个值

javascript - 您有任何与 jQuery 一起使用的 Ajax 加载图像的想法吗?