我创建了一个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>
我的Jquery
$.ajaxSetup({ cache: false });
$(document).ready(function() {
var class_id = $('#class_id').val();
var user_id = $('#user_id').val();
setTimeout(
$.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);
});
错误:
VM229:1未捕获的SyntaxError:意外的标识符
答案 0 :(得分:1)
您需要使用setInterval
代替file1.html
WindowOrWorkerGlobalScope.setInterval()
WindowOrWorkerGlobalScope mixin的
setTimeout
方法重复调用函数或执行代码片段,每次调用之间有固定的时间延迟。返回setInterval()
。
intervalID
答案 1 :(得分:1)
当前代码中存在语法错误。方法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);
}