基本上,我使用的是引导带3 RC2。我希望能够通过PHP来平平服务器。我在谷歌上找到了这个脚本。
<?php
// Script by Akensai
if (!$socket = @fsockopen("YOUR.IP.HERE", 80, $errno, $errstr, 30))
{
echo "<font color='red'><strong>Offline!</strong></font>";
}
else
{
echo "<font color='green'><strong>Online!/strong></font>";
fclose($socket);
}
?>
我知道我可以将在线/离线回显更改为引导元素,比如100%进度条。
我想知道的是,当我点击服务器时,如何使进度条从0%到100%。默认情况下,加载时进度条将是蓝色的,如果成功,它将更改为绿色,如果失败,则将更改为红色。引导程序通过简单地更改进度条DIV中的类来提供这些选项。
我知道这似乎不切实际,因为ping通常是非常快的,但是,我仍然想知道如何使用这个特性作为将来的参考。
有什么建议吗?
发布于 2013-08-18 20:19:53
我将向您演示如何使用jquery,我还没有使用过很多引导程序。
首先,假设我们有与您所做的类似的服务器代码。
$json = array();
if ($socket = fsockopen($_POST['ip'], 80, $errno, $errstr, 30)) {
$json = array('status' => 1);
fclose($socket);
} else {
$json = array('status' => 0);
}
header("Content-Type: application/json");
echo json_encode($json);
我们有一个可以从客户端调用的服务器脚本,它将返回一个json响应。
在html方面,我们有以下进度条。
<progress id='progress' max=100></progress>
然后,我们有以下jquery代码,它调用我们的脚本
$(function () {
var options = {
url: '/script.php',
data: { ip : '127.0.0.1' },
type: 'POST',
dataType: 'json',
success: function (json) {
if (json.status == 1) $("#progress").val($('#progress').val() + 10);
}
};
$.ajax(options);
});
您将需要使用setInterval
或其他队列方法进行这个ajax调用,这样它就会一直执行到ping完成为止。请注意,我从您的@
中删除了fsockopen
--这是一个不好的实践。朗读
https://stackoverflow.com/questions/18306243
复制相似问题