【发布时间】:2014-06-19 17:05:15
【问题描述】:
我有一个网络服务器 (www.domain.com),它正在 ping 子网网络服务器 (test.domain.com) 以获取显示的信息,直到它发生变化。我希望它每 3 秒运行一次此检查,直到状态更改为等待消息之外的其他内容,然后我想在 div 中显示该信息。
我知道如果我想加载页面然后将此作为脚本运行,我将需要 AJAX 以某种方式运行它,但我一生中可能修改了 2 个 AJAX 脚本并且不知道在哪里和这个一起去。
以下代码是我的测试基础 PHP,适用于基本工作流程,但它在服务器端完成。
$str = file_get_contents($url);
$spanCount = preg_match_all("/\<span id\=\"spanId\"\>(.*?)\<\/span\>/",$str,$span);
$spanString = implode($span[0]);
echo "<div class='status' style='display:inline;'>";
while($spanString == "<span id=\"spanId\">Waiting for stuffs...</span>"){
echo "Waiting...";
$str = file_get_contents($url);
$spanCount = preg_match_all("/\<span id\=\"spanId\"\>(.*?)\<\/span\>/",$str,$span);
$spanString = implode($span[0]);
sleep(3);
}
if($spanString != "<span id=\"spanId\">Waiting for stuffs...</span>"){
echo "<pre>";
echo $spanString;
echo "</pre>";
}
echo "</div>";
【问题讨论】:
-
除非您使用 CORS,否则 AJAX 将不起作用,因为发送/接收服务器的域不同。
-
相关信息?如果我将其更改为每 3 秒对我的另一台服务器进行一次 curl 调用,并让另一台服务器通过 curl 返回信息,该怎么办?
-
我希望我会尝试在 setInterval 中放置一个 AJAX 调用,该调用在加载当前页面的同一台服务器上执行脚本,并且该服务器脚本对另一台服务器执行 ping,并将响应发送回页面。
-
@bloodyKnuckles 我认为这不适用于此工作流程,因为内容不会总是在 www 请求时推送回 www
标签: javascript php jquery ajax