从数据库加载数据时停止或崩溃我的浏览器

时间:2014-07-17 11:25:56

标签: php jquery ajax

嗨伙计们 我的JS文件中有以下代码

 function load(){
   $.ajax({
         url: "http://blah-blah.com/file.php",
         type: "POST",
         data: {data:"blah"},
         typeData: "json",
         success: function(data){
          $("#divLoad").html(data);
          load();
         }     
   });
var reload = setInterval({"load()"}, 5000);
// or can use this
var reload = setTimeout({"load()"}, 5000);
}

以及file.php中的以下内容

 point to --> echo json_encode('<div id="a">$r[name]</div><div id="b">$r[sex]</div>');

为什么执行上面的代码会挂起我的浏览器/计算机,并显示非常高的CPU使用率?

1 个答案:

答案 0 :(得分:2)

因为load是递归函数,所以它在success回调中调用自身。

通过setInterval定期调用它,您将逐步建立越来越多的ajax调用。

删除load()函数中的递归success调用,您就可以了:

function load(){
   $.ajax({
         url: "http://blah-blah.com/file.php",
         type: "POST",
         data: {data:"blah"},
         typeData: "json",
         success: function(data){
          $("#divLoad").html(data);
          //load(); <--remove this
         }     
   });
}