【问题标题】:How to make AJAX wȯrk on PHP? [closed]如何在 PHP 上制作 AJAX wȯrk? [关闭]
【发布时间】:2021-09-29 06:02:46
【问题描述】:

我是 AJAX 的新手,目前正在尝试在单击“显示服务器时间”按钮后获得一个简单的 PHP-AJAX 来显示服务器时间。但是我点击它后它没有显示时间。谁能帮我?这是 show_server_time.php 代码:

<?php include('header.html'); ?><br>
<div class="container">
  <div class="card">
    <div class="card-header">
      Ajax Server Time
    </div>
    <div class="card-body">
      <button class="btn btn-success" onclick="get_server_time()">
        Show Server Time
      </button>
      <br><br>
      <div id='showtime'></div>
    </div>
  </div>
</div>
<br>
<script src="ajax.js"></script>

ajax.js:

function getXMLHTTPRequest(){
  if(window.XMLHTTPRequest){
    //for modern browsers
    return new XMLHttpRequest();
  }else{
    //for old IE browsers
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
}

function get_server_time(){
  var xmlhttp = getXMLHTTPRequest();
  var page = 'get_server_time.php';
  xmlhttp.open("GET",page,true);
  xmlhttp.onreadystatechange = function() {
    document.getElementById('showtime').innerHTML = '<img src = ajax_loader.png>';
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
      document.getElementById('showtime').innerHTML = xmlhttp.responseText;
    }
  }
  xmlhttp.send(null);
}

这是get_server_time.php:

<?php
echo date('H:i:s');
?>

【问题讨论】:

  • 使用browser developer tools 并检查控制台窗口是否有任何错误。
  • 它说'Uncaught ReferenceError: ActiveXObject is not defined',当我删除activexobject时,它说'Uncaught TypeError: Cannot read properties of undefined (reading 'open')'。我该怎么办? :(提前谢谢!

标签: javascript php jquery ajax


【解决方案1】:
<div class="container">
  <div class="card">
    <div class="card-header">
      Ajax Server Time
    </div>
    <div class="card-body">
      <button class="btn btn-success" onclick="get_server_time()">
        Show Server Time
      </button>
      <br><br>
      <div id='showtime'></div>
    </div>
  </div>
</div>
<br>
<script>
function get_server_time(){
  var xmlhttp =new XMLHttpRequest();
  var page = 'get_server_time.php';
  xmlhttp.open("GET",page,true);
  xmlhttp.onreadystatechange = function() {
    document.getElementById('showtime').innerHTML = '<img src = ajax_loader.png>';
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
      document.getElementById('showtime').innerHTML = xmlhttp.responseText;
    }
  }
  xmlhttp.send(null);
}
</script>

如上所示。

https://www.w3schools.com/js/js_ajax_intro.asp

【讨论】:

  • 谢谢,成功了!但我可以知道为什么我不能使用 而不是在我的 show_server_time.php 中编写函数吗?
  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
  • 如果你使用格式,可能看不到你对js文件所做的修改,需要清除浏览器历史。
  • 我明白了。谢谢!:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
相关资源
最近更新 更多