首页 > 解决方案 > 如果文件未重命名,Ajax ping php 不起作用

问题描述

我目前正在学习“一切”并在覆盆子上玩耍/玩耍。我正在设置一个网页来检查温度并打开/关闭覆盆子风扇,检查局域网上的哪台电脑打开并在需要时打开它等等......

目前我正在进行第二步:检查 LAN 上的哪台 pc 处于打开状态。我正在尝试 ping,它实际上正在工作,但有一个奇怪的部分。

这是我的主页脚本部分:

function ping(ip){
	var xmlhttp = new XMLHttpRequest();
	xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("ip"+ip).innerHTML =this.responseText;
    }};		 
	xmlhttp.open("GET", "pingA.php?ip=192.168.1."+ip, true);
	xmlhttp.send();}

window.setInterval(function(){ping(2);},500);
window.setInterval(function(){ping(55);},500);
<p >192.168.1.2 actually is <span id="ip2"></span></p>
<p >192.168.1.55 actually is <span id="ip55"></span></p>

我的 php 文件 anwsering ajax 请求是 pingA.php 这里:

$ip = $_REQUEST["ip"];
$result = exec("ping -c1 -w1 ".$ip." ; echo $?");
$answer = "ON";
if ($result == 0){
  $answer = "OFF";
}
echo $answer;

所以我页面上的结果是这样的:

192.168.1.2 实际上是 ON

192.168.1.55 实际上是关闭的

视情况而定...

问题是这一切都与“pingA.php”一起工作,我想使用“ping.php”......但是当我重命名文件并且ajax调用它不再工作了!!!为什么!?(我已经很幸运随机更改了文件名并发现了这个......)我确实已经重新启动了 apache 并且没有任何变化......“ping.php”不起作用......任何其他名称,是的。快把我逼疯了。

标签: phpajaxping

解决方案


推荐阅读