Javascript 自动刷新包含在DIV中的PHP文件

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页面?此需

我有一个名为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页面?

需要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来实现这一点