Javascript 自动刷新包含在DIV中的PHP文件
我有一个名为messages.php的文件,它对数据库运行SQL查询,并在Javascript 自动刷新包含在DIV中的PHP文件,javascript,php,jquery,Javascript,Php,Jquery,我有一个名为messages.php的文件,它对数据库运行SQL查询,并在$res变量中显示结果 我使用的menu.php页面 include 'messages.php'; 然后: <div id="msgs"> <?php echo $res; ?> </div> 因此,这将在menu.php的div中显示messages.php页面中$res变量中的所有数据 如何使其自动刷新,使$res变量中的任何新数据显示,而不必刷新menu.php页面?此需
$res
变量中显示结果
我使用的menu.php页面
include 'messages.php';
然后:
<div id="msgs">
<?php echo $res; ?>
</div>
因此,这将在menu.php的div中显示messages.php页面中$res
变量中的所有数据
如何使其自动刷新,使
$res
变量中的任何新数据显示,而不必刷新menu.php页面?此需要jQuery库。这可以在纯JS中完成,但如果你是JS初学者,我建议你使用jQuery
function reload_messages(){
$.get("messages.php", function(data) {
$("#id").html(data);
});
}
然后需要调用重新加载消息,例如:
<a href="javascript:reload_messages();">reload messages</a>
如果要扩展.get方法,请查看此页面:首先删除include'messages.php'; 然后删除echo$res;从div并将其放在messages.php的最后一行 并在包含jquery文件后尝试以下代码
<script>
jQuery().ready(function(){
setInterval("getResult()",1000);
});
function getResult(){
jQuery.post("messages.php",function( data ) {
jQuery("#msgs").html(data);
});
}
</script>
<div id="msgs">
</div>
jQuery().ready(函数()){
setInterval(“getResult()”,1000);
});
函数getResult(){
post(“messages.php”,函数(数据){
jQuery(“#msgs”).html(数据);
});
}
如果希望在某个时间间隔内刷新,可以使用setInterval
setInterval( refreshMessages, 1000 );
1000
是1000毫秒,因此1秒后,将其更改为您喜欢的方式
因此,每1秒它就会触发函数refreshMessages:
function refreshMessages()
{
$.ajax({
url: 'messages.php',
type: 'GET',
dataType: 'html'
})
.done(function( data ) {
$('#msgs').html( data ); // data came back ok, so display it
})
.fail(function() {
$('#msgs').prepend('Error retrieving new messages..'); // there was an error, so display an error
});
}
您可以通过使用jqueryajax来实现这一点