具有Ajax功能的页面不刷新数据

时间:2011-03-25 15:47:10

标签: javascript jquery ajax partial-page-refresh

我的脚本工作得非常好。但是,内容不会刷新自己以获取新数据。为什么会这样?

 function updateMsg() {
    $.ajax({
       url: "/recent/notifications/",
       cache: false,
       success: function(html){     
         $("#profile_notifarea_msgbox").html(html);
       }
    });
    setTimeout('updateMsg()', 4000);
 }
 updateMsg();   

2 个答案:

答案 0 :(得分:1)

你的setTimeout可以直接引用updateMsg而不是使用字符串:

var timeout;

function updateMsg() {
   $.ajax({
      url: "/recent/notifications/",
      cache: false,
      success: function(html){     
        $("#profile_notifarea_msgbox").html(html);
        timeout = setTimeout(updateMsg, 4000);
      }
   });       
}
updateMsg();   

function stopUpdate() {
    clearTimeout(timeout);
}

要停止连续更新,请在变量中保存对setTimeout的引用,然后调用clearTimeout并传入该变量。在此示例中,您只需调用函数stopUpdate()来取消更新。

答案 1 :(得分:0)

当你使用ajax和jQuery尝试总是放错误函数时,你可以通过这种方式识别请求是否有问题