0

5 秒ごとにデータを取得するにはどうすればよいですか? 何らかの理由で機能していません

ここに私のコードがありますが、機能していません:

<script type="text/javascript">

        $(document).ready(function(){

            setTimeout(function() {
              $.ajax({ 
            url: 'test_api.php', 
            data: "", dataType: 'json', 
            success: function(rows) { 

                for (var i in rows) { 

                    var row = rows[i]; 

                    var availability = row[3]; 

                    var hostName = row[2];

                    var intranet = row[6];

                    var timeRespons = row[4]; 

                    $('body').append("<b>availability: </b>"+availability+"<b> hostName: </b>"+hostName+
                    "<b> intranet: </b>"+intranet+"<b> timeResponse: </b>"+timeRespons) .append("<hr />");

                    } 
                }
            });
            }, 5000);

        });

どうもありがとうございます

4

2 に答える 2

2

を使用する代わりに、 をsetTimeout使用してsetIntervalください。

setTimeout指定した時間が経過した後に 1 回実行されます。

setIntervalで停止するまで、指定した時刻に連続して実行されますclearInterval

$(document).ready(function() {
    setInterval(function() {
        $.ajax({
        url: 'test_api.php',
        data: "", dataType: 'json',
        success: function(rows) {
            for (var i in rows) {
                var row = rows[i];
                var availability = row[3];
                var hostName = row[2];
                var intranet = row[6];
                var timeRespons = row[4];

                $('body').append("<b>availability: </b>" + availability + 
                                 "<b> hostName: </b>" + hostName +
                                 "<b> intranet: </b>" + intranet + 
                                 "<b> timeResponse: </b>"+timeRespons) 
                         .append("<hr />");

                }
            }
        });
    }, 5000);
});
于 2013-07-12T11:03:41.190 に答える
1

setInterval関数を 5 秒ごとに呼び出したい場合は、 を使用します。このsetInterval()メソッドは、指定された間隔 (ミリ秒単位) で関数を呼び出すか、式を評価します。

Where assetTimeout()メソッドは、指定されたミリ秒数の後に関数を呼び出すか式を評価します。

コードを変更する

setInterval(function() {
  $.ajax({ 
    url: 'test_api.php', 
    data: "", dataType: 'json', 
    success: function(rows) { 
        $('body').html(''); //Clear content
        for (var i in rows) { 
            var row = rows[i]; 
            var availability = row[3]; 
            var hostName = row[2];
            var intranet = row[6];
            var timeRespons = row[4]; 
            $('body').append("<b>availability: </b>"+availability+"<b> hostName: </b>"+hostName+
            "<b> intranet: </b>"+intranet+"<b> timeResponse: </b>"+timeRespons) .append("<hr />");
            } 
        }
    });
}, 5000);

bodyコンテンツを上書きする場合は$('body').html(htmlstring)、;を使用します。

デモ

于 2013-07-12T10:59:27.497 に答える