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使用率?
答案 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
}
});
}