Jquery自动刷新div

Joh*_*ims 7 jquery memory-leaks refresh

Jquery自动刷新耗尽了很多浏览器内存.有办法阻止这个.我每隔3秒刷一次2 div,但我将其移动到9和15秒,它帮助我的网站上的窗口保持打开的时间越长,浏览器崩溃之前所需的内存就越多.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>


<script>
var auto_refresh = setInterval(
function ()
{
$('#details2').load('links2.php').fadeIn("slow");
}, 15000); // refresh every 10000 milliseconds</script>
Run Code Online (Sandbox Code Playgroud)

Ste*_*nno 2

您可以尝试跳过 load() 并使用 $.ajax 代替。我知道加载();是一个ajax请求,但我似乎记得它获取整个脚本。尝试请求一个脚本,进行数据库计算并将数据作为 json 返回。我假设您正在发送包含数据库请求中的数据的完整 html。请尝试使用 json 代替。

您将获取作为对象的数据,例如这样。

{"variable":"foo"}
Run Code Online (Sandbox Code Playgroud)

然后您可以使用简单的each 语句来获取数据。

$.ajax({
    url: "links2.php",
    type: "POST",
    dataType: "json",
    success: function(data){

       // data here is returned as objects since it's json
       $.each(data, function(key, value) {
            $("#details2").empty().append(value.variable);
       }); 

    }
});
Run Code Online (Sandbox Code Playgroud)

我认为这不应该泄漏你的内存并最终使你的浏览器崩溃,即使你每隔一秒左右调用它一次。尝试一下,让我知道进展如何。

祝你好运!