Javascript 每隔2秒使用过帐数据重新加载div
我已经创建了一个jquery,我想每2秒重新加载一次文件,但也可以通过发布数据来完成 这是htmlJavascript 每隔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
<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);
}