Memory IE内存泄漏和jQuery评估

Memory IE内存泄漏和jQuery评估,memory,jquery,memory-leaks,Memory,Jquery,Memory Leaks,我创建了一个页面,需要根据数据库中的数据更新其元素。我想知道你如何看待使用eval的方法,我知道这很危险,但在我的情况下,这是最快的方法 $('.updatable').each(function () { var data; data = 'ViewObjectId=' + $(this).attr('objectid'); $.ajax({ async: true, url: '/Ajax/Ge

我创建了一个页面,需要根据数据库中的数据更新其元素。我想知道你如何看待使用eval的方法,我知道这很危险,但在我的情况下,这是最快的方法

$('.updatable').each(function () {
        var data;
        data = 'ViewObjectId=' + $(this).attr('objectid');

        $.ajax({
            async: true,
            url: '/Ajax/GetUpdatedViewObjectDataHandler.ashx',
            data: data,
            type: 'POST',
            timeout: 10000,
            success: function (data) {
                $.each(data, function (index, value) {
                        eval(value);
                });
            }
        });
现在我遇到的问题是当页面加载时,页面每10秒更新一次,直到页面完美为止

在每一轮更新之后,我的Internet Explorer都会窃取一些内存,几小时后它就会获得整个机器的内存,太棒了

在这种情况下,您会怎么做?是否建议使用其他更新方法?或者,您认为我可以做些什么来避免内存泄漏?

在这里找到了答案:

解决方案:

 var request = $.ajax({ .... });

 request.onreadystatechange = null; 
 request.abort = null; 
 request = null;
JQuery不会这样做,内存也不会释放

jQuery版本1.4.2


现在它工作起来很有魅力。

我删除了eval函数并创建了一个新函数,但漏洞仍然存在。问题在于ajax调用:$.ajax(->我还不知道为什么。根据这篇文章,频繁的调用导致内存泄漏…我正在测试,似乎情况有所好转。在这里找到了答案:解决方案:var request=$.ajax({…});request.onreadystatechange=null;request.abort=null;request=null;JQuery不会这样做,内存也不会释放。有没有可能找到这样的内存?