Memory IE内存泄漏和jQuery评估
我创建了一个页面,需要根据数据库中的数据更新其元素。我想知道你如何看待使用eval的方法,我知道这很危险,但在我的情况下,这是最快的方法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
$('.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不会这样做,内存也不会释放。有没有可能找到这样的内存?