jquery ajax定期加载

时间:2014-12-10 07:16:21

标签: jquery ajax

我想动态加载对特定文档所做的更改。 storysource.php将获得数据库连接和所有。但目前只有一个回声声明用于测试。 ajax工作正常,数据正在加载。但它不会重新加载自己并在数据发生变化时更改数据。

<script>
function keertan()
{

    $.ajax({
    url: "storysource.php",
      success: function(result) {
      $('.centre').append('<div style="background-color:red;">'+result+'</div>');
        },
    complete:function(){
        setInterval('keertan',1000);
        }
        });

    }

            keertan();
    </script>

2 个答案:

答案 0 :(得分:1)

你可以调用这样的函数:

    <script>
        function keertan()
        {
            $.ajax({
            url: "storysource.php",
            success: function(result) {
                $('.centre').append('<div style="background-color:red;">'+result+'</div>');
            },
        }

        keertan();

        setInterval(function(){
            keertan();
        },1000);

   </script>

答案 1 :(得分:1)

请注意,setInterval()通常不是定期执行的最佳解决方案 - 它实际上取决于您实际定期调用的javascript。

例如。如果你使用周期为1000毫秒的setInterval()并在周期函数中进行ajax调用,偶尔需要2秒才能返回,你将在第一个响应返回之前再进行一次ajax调用。这通常是不受欢迎的。

要使用包含jQuery ajax调用的函数实现更强大的定期执行,请考虑以下内容:

  <script>
function keertan()
{

    $.ajax({
    url: "storysource.php",
      success: function(result) {
      $('.centre').append('<div style="background-color:red;">'+result+'</div>');
        },
    complete:function(){
        setTimeout(keertan,1000); //instead of setInterval(keertan,1000);
        }
        });

    }

            keertan();
    </script>