这是我加载数据的代码
$(document).ready(function() {
$.get('get-answers.php', {
project_question_id: <?=$project_question_id?>,
project_id: <?=$project_id?>
}, function(data) {
$('#dispaly-answers').append(data);
});
});
此代码从数据库中检索数据并正常工作。但问题是,如果我在数据库上添加新数据,那么没有页面刷新就不会显示这些数据。 所以我不想刷新页面来获取数据。一旦将新数据添加到数据库,就应该显示它。 关于这个问题的任何建议? P.S:我也试过.ajax(),没用。
这是我的$ .ajax()请求 $(document).ready(function(){
$.ajax( {
type: "GET",
url: "get-answers.php",
data: { project_question_id: <?=$project_question_id?>,
project_id: <?=$project_id?>
},
cache: false,
success: function(data) {
$('#dispaly-answers').append(data);
},// success
})// ajax
});
与$ .get()
相同答案 0 :(得分:1)
如果您的目标是在不刷新页面的情况下刷新页面数据,则可以将代码置于间隔计时器中,并让它每x秒自动刷新一次,如下所示。
setInterval(getAnswer(), 1000);
注意:setInterval
会一次又一次地触发,直到你清除它为止,而setTimeout
只会触发一次。
答案 1 :(得分:0)
Ajax-Function只被调用一次:文档就绪(完全加载)。你必须使用setTimeout来创建一个计时器,它每分钟或任何你想要的调用函数。像这样:
function getData() {
setTimeout(function(){
$.get('get-answers.php', {
project_question_id: <?=$project_question_id?>,
project_id: <?=$project_id?>
}, function(data) {
$('#dispaly-answers').append(data);
getData();
});
}, 3000);
}
答案 2 :(得分:0)
这是我最后的方法 $(document).ready(function(){
setInterval(function(){
$.ajax( {
type: "GET",
url: "get-answers.php",
data: { project_question_id: <?=$project_question_id?>,
project_id: <?=$project_id?>
},
cache: false,
success: function(data) {
$('#dispaly-answers').html(data);
},// success
})// ajax
}, 1000);
});
无需创建和调用函数getData(),此代码工作正常。此外,我已将.append(数据)更改为.html(数据)。
但我仍然不满意我的代码,因为它不断地从数据库中检索数据使数据服务器忙碌。
无论我想做什么任务都必须完成并完成。
答案 3 :(得分:0)
尝试此操作,您只需要用您的文件替换这个文件restore_query.php和此id query-div。
setInterval(function(){
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
$('#query-div').html(this.responseText);
}
};
xmlhttp.open("GET","retrieve_query.php",true);
xmlhttp.send();
},1000);