Ajax不是每5秒检索一次数据



如何每隔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);
        });

非常感谢

不要使用setTimeout,而是使用setInterval

setTimeout在指定时间过后运行一次。

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);
});

如果您想每5秒调用一次函数,请使用setIntervalsetInterval()方法以指定的时间间隔(以毫秒为单位)调用函数或计算表达式。

Where as setTimeout()方法在指定的毫秒数后调用函数或计算表达式。

更改您的代码

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)

演示

最新更新