我对jquery和ajax很陌生。
我的代码实质上调用了一个ping.php脚本,fsockopen带有一个if else语句,该语句在加载页面时向上或向下打印服务器/服务的仪表板,在加载页面时它调用该脚本将结果向上或向下打印在平铺中。(使用merto.js学习和玩)
我面临的问题是,我想要刷新div,比如每3秒钟刷新一次php脚本
<div class="tiles red">
<div class="live-tile" id="tile1">
<div><?php include"ping1.php"; ?></div>
</div>
</div> 我试着用下面的方法,但我肯定做错了什么。
function startActivityRefresh() {
timer = setInterval(function() {
$("tile1").load('ping1.php');
}, seconds*1)即使我的实验相当简单,我也不想简单地刷新整个页面。
我已经通过在4220上创建一个可用端口来测试它,而不是在几秒钟后将其关闭。
谢谢
发布于 2013-10-26 20:45:39
如果您只想检查服务器是打开还是关闭,我建议只使用一个小.ajax() (在演示.get()中使用的简写)调用,而不是使用.load()。
下面是我的status.php脚本的样子。
<?php
// ping google.
$server = fsockopen('173.194.46.64', '80');
if ($server) {
echo 'Online';
fclose($server);
} else
echo 'Offline';我用谷歌。将ip更改为服务器。
下面是我的ajax调用的样子
function checkServerStatus() {
var status = $('#tile1'); // your element
if (window.console && window.console.log)
console.log('Checking server for status.');
$.ajaxSetup({
cache: false
});
$.get('status.php')
.done(function (e) {
// let's suppose "e" will return "Online" or "Offline"
// remove online and offline classes
status.removeClass('status-offline status-online');
// add a class if offline or online.
switch (e) {
case 'Online':
status.addClass('status-online');
break;
case 'Offline':
status.addClass('status-offline');
break;
}
// set status text
status.text(e);
// check status every 5 seconds
setTimeout(function () {
checkServerStatus();
}, 5000);
})
.fail(function (e) {
if (window.console && window.console.log) console.log(e);
});
}
// let's rock!
checkServerStatus();发布于 2013-10-26 19:34:35
您已经在<div class="live-tile" id="tile1">中定义了id
通过$("tile1")调用--这是错误的--按id获取元素,您需要#,而逐类获取元素,则需要.
$("#tile1").load('ping1.php').load()需要url --包含发送请求的$("#tile1").load(' your url to ping1.php')的URL的字符串
https://stackoverflow.com/questions/19610952
复制相似问题