javascript jsonp内存泄漏

时间:2011-09-14 18:33:49

标签: javascript ajax memory-leaks jsonp

我看到了Memory Leak When Pulling JSON from WEB中描述的相同问题。

我只是有一个定期发出jsonp ajax请求的函数。我的函数由setInterval触发的另一个函数调用。

我看到我试过的所有broswers都有内存泄漏,IE,Safari,FireFox。我在Safari脚本调试器中看到的一点是,对ajax请求的每个响应都在脚本调试器窗口的下拉列表中列为脚本,就好像某些脚本对象没有被清除一样。

我正在使用jquery 1.6.2。这是一个“长期”泄漏,运行几分钟后没有清理干净。

任何想法导致了什么?

    request: function ()
    {
        $.ajax({
            url: <myurl>
            dataType: "jsonp",
            jsonp: "jsoncallback",
            timeout: 5000,
            cache: false,

            beforeSend: function (xhr)
            {
            },

            success: function (data, status, xhr)
            {
            },

            error: function (xhr, status, error)
            {
            },

            complete: function (req, status)
            {
            }
        });
    }
    ...
    setInterval(request, 100);

2 个答案:

答案 0 :(得分:1)

你每100毫秒发送一次ajax请求就足够了。

请注意,setInterval(请求, 100 ); - 100不是指秒,而是毫秒。 1秒= 1000毫秒

答案 1 :(得分:0)

就jQuery泄漏而言,请参阅jQuery memory leak with DOM removal

有一个用于查找内存泄漏的实用程序:http://www.outofhanwell.com/ieleak/Drip-0.5.exe

@genesis也是正确的。