1

我是 jquery 和 ajax 的新手。

我的代码本质上调用了一个ping.php脚本,该脚本使用 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 上创建一个可用端口来测试它,而不是几秒钟后将其关闭。

谢谢

4

2 回答 2

0

您已在<div class="live-tile" id="tile1">

并调用$("tile1")which 是错误的,以通过您需要的 id#获取元素并通过您需要的类获取元素.

$("#tile1").load('ping1.php')

.load()需要 url包含请求发送到的 URL 的字符串 $("#tile1").load(' your url to ping1.php')

于 2013-10-26T19:34:35.747 回答
0

如果您只是想检查服务器是启动还是关闭,我建议您只使用一个小的.ajax()(演示中使用的简写.get())调用而不是.load()

这是我的status.php脚本的样子。

<?php

// ping google.
$server = fsockopen('173.194.46.64', '80'); 

if ($server) { 
    echo 'Online';
    fclose($server); 
} else 
    echo 'Offline';

我 ping 谷歌。将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-26T20:45:39.993 回答