php jquery自动加载内容

时间:2012-03-03 04:38:31

标签: php javascript

我想知道在没有页面刷新的情况下自动加载新内容的好方法。例如,之前在Twitter趋势中,当有人发布相关的趋势内容时,它会自动加载新提交的内容而不会加载页面。

我尝试了一些方法,例如(拉方法),在我的javascript中我会设置间隔来加载frm sql查询:

var auto_refresh = setInterval(function () {
        $('#myLinks').load('http://domain.com/link/loadlatestnews').fadeIn(2000);
    }, 400); // refresh every 400 milliseconds

但这是一个好主意,因为它要求客户端每隔400毫秒不断尝试从sql加载。

是否可以使用push方法,如果mysql中有新内容,设置一个事件回调??

3 个答案:

答案 0 :(得分:2)

你现在正在做的是一个好主意,但如果功能不是很强大,不要每400 MS调查一次你的服务器。此外,您应该在每个请求上向服务器发送最后结束日期,以便它仅加载在该日期之后出现的内容,并在每次请求时每次返回新的最后日期。通过这种方式,您可以检查服务器是否有新记录,并在其执行此操作时触发该功能。

答案 1 :(得分:0)

您可以通过这种方式自动刷新

<script type="text/javascript" src="../js/jquery.min.js"></script>
        <script type="text/javascript">
            // setTimeout(function(){ window.location.reload(); }, 2000);

                $.ajax({
                 success:function(){
                     setTimeout(function(){ window.location.reload(); }, 2000)
                 }   
                });

        </script>

答案 2 :(得分:0)

这取决于。您是否可以访问您的服务器软件。如果你愿意配置它。

您需要的是彗星服务器:http://en.wikipedia.org/wiki/Comet_(programming)

但是,如果您的网站不大您可以使用正在使用的定时轮询技术。只是让间隔更长。 400毫秒是缩短的方法。还尝试按照Shaheer的建议优化您的SQL。