我试图通过有一个可重复使用的方法来进行异步ajax调用来减少代码和简化某些事情。我实际上是从jQuery切换到YUI 3并清理过程中的东西。这可能对于你们的JavaScript人来说是非常容易的,但我一直在试图弄清楚如何在不泄漏内存的情况下调用我的回调函数。如果我在任务管理器中观看IE,内存上升非常快(每1.5秒调用一次该功能)。Javascript回调异步Ajax YUI 3
基本上,我有我的普通网页,具有我想在ajax完成后调用的函数。我从那里更新用户界面,并设置其他只是页面一部分的变量。我有一个JavaScript文件,我在那里实际上使ajax调用的方法。当我使用该方法传递的回调时,它正在泄漏。
JavaScript文件:
function doAjaxRequest(url, callback) {
YUI().use('io',
function (Y) {
var cb =
{
timeout: 5000,
on: {
success: function (x, o) {
callback(o.responseText);
},
failure: function (x, o) {
callback("");
}
}
}
Y.io(url, cb);
});
}
网页:
doAjaxRequest(myUrl, showContent); // Called every couple seconds
function showContent(o) {
document.getElementById('ajaxcontent').innerHTML = o;
// Other Stuff Removed
}
如果我注释掉回调线,但不得泄漏。我必须以另一种方式进行回调,我只是不知道那是什么。
哪个版本的IE?这是否发生在Firefox/Chrome/Safari/Opera(阅读:真实的浏览器)? – 2010-11-15 01:40:03
这是IE 8.我没有尝试过其他浏览器,但只是测试Chrome,它有相同的问题。 – GregInWI2 2010-11-15 02:41:49