Javascript 每隔2秒使用过帐数据重新加载div

Javascript 每隔2秒使用过帐数据重新加载div,javascript,jquery,html,Javascript,Jquery,Html,我已经创建了一个jquery,我想每2秒重新加载一次文件,但也可以通过发布数据来完成 这是html <input type="hidden" id="class_id" value="<?php echo $data['class']; ?>" /> <input type="hidden" id="user_id" value="<?php echo $_SESSION['uid']; ?>" /> <tbody id="donors_li

我已经创建了一个jquery,我想每2秒重新加载一次文件,但也可以通过发布数据来完成

这是html

<input type="hidden" id="class_id" value="<?php echo $data['class']; ?>" />
<input type="hidden" id="user_id" value="<?php echo $_SESSION['uid']; ?>" />
<tbody id="donors_list"></tbody>
错误:

VM229:1未捕获的语法错误:意外标识符

您需要使用而不是
setTimeout

WindowOrWorkerGlobalScope mixin的
setInterval()
方法重复调用函数或执行代码段,每次调用之间有固定的时间延迟。返回一个区间有效的


当前代码中存在语法错误。方法
setTimeout()
要求执行字符串文本形式的方法/代码,但两者都没有提供

由于间隔为2秒(非常小),我建议您将代码包装在函数中,然后递归调用
success
回调。此处
setTimeout
用于延迟执行
$.ajax()
调用

$(document).ready(function () {
    //on Page load
    f()
});

function f() {
    setTimeout(function () {
        var class_id = $('#class_id').val();
        var user_id = $('#user_id').val();
        $.ajax({
            url: "includes/get_data.php",
            type: "POST",
            data: {
                class_id: class_id,
                user_id: user_id,
                new_list: 'new_list'
            },
            dataType: 'text',
            success: function (data) {
                $("#donors_list").html(data);

                //Schedule for next execution
                f();
            }
        })
    }, 2000);
}

抱歉,没有发布错误VM229:1未捕获的语法错误:意外identifier@MarkAlan
setInterval
如果api未在中完成,则会产生问题2sec@Satpal你总是可以增加间隔,或者用承诺来工作。但这不是问题的重点。OP必须知道使用approach@Satpal事实上,你的答案是一个很好的补充。我更喜欢这个answer@Satpal我也喜欢你的方法,没有考虑过,谢谢,我只有一个小问题,在成功回调中,当你调用
f()
,它会尊重2秒的延迟吗?如果ajax调用需要1秒才能完成,下一个调用将等待更长的时间,那么会追加什么?如果ajax调用需要3秒钟才能完成?
f()
会立即被调用吗?@GilleQ。它会尊重2秒延迟回答是否。如果它需要超过2秒才能完成,并且我们每2秒发射一次,它将过载server@Satpal因此,每次ajax调用成功后,
f()
将立即被调用?这不符合OPrequirement@GilleQ.,如果OP显示200毫秒怎么办?
$.ajaxSetup({ cache: false });

$(document).ready(function() {
    var class_id = $('#class_id').val();
    var user_id  = $('#user_id').val();

    setInterval(function() {
        $.ajax({
            url         : "includes/get_data.php", 
            type        : "POST",             
            data        : {class_id : class_id, user_id : user_id, new_list: 'new_list'},
            dataType    : 'text',            
            success     : function(data) {
                $("#donors_list").html(data);
            }
          });
      }, 2000);
});
$(document).ready(function () {
    //on Page load
    f()
});

function f() {
    setTimeout(function () {
        var class_id = $('#class_id').val();
        var user_id = $('#user_id').val();
        $.ajax({
            url: "includes/get_data.php",
            type: "POST",
            data: {
                class_id: class_id,
                user_id: user_id,
                new_list: 'new_list'
            },
            dataType: 'text',
            success: function (data) {
                $("#donors_list").html(data);

                //Schedule for next execution
                f();
            }
        })
    }, 2000);
}