jquery不会自动回收xmlHttpRequest对象 导致了内存溢出


Posted in Javascript onJune 18, 2012

之前一直都不曾注意到这一点,今天幸亏看了kuibono的文章,下面是kuibono给出的手动回收xmlHttpRequest对象的代码片断:
每次jquery的Ajax请求都会创建一个xmlHttprequest对象,理论上讲,长连接的请求是一个无限递归,请求数量是非常大的,但是由于每次请求都会建立一个新的xmlhttprequest,而且jquery不会自动回收资源,所以导致了内存溢出。

通过查看jquery API,发现jquery还有一个 complete对象,是请求完成后回调函数 (请求成功或失败之后均调用)。 同时有两个参数XMLHttpRequest, textStatus。所以,我们只需要在请求完成后,将传回的XMLHttprequest对象手工回收即可,代码如下:

$.ajax({ 
url: "https://3water.com", 
data: { name: "xxxx" }, 
dataType: "xml", 
success: function (data, textStatus) { 
//do something... 
}, 
complete: function (XHR, TS) { XHR = null } 
});
Javascript 相关文章推荐
火狐4、谷歌12不支持Jquery Validator的解决方法分享
Jun 20 Javascript
js中数组(Array)的排序(sort)注意事项说明
Jan 24 Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 Javascript
JavaScript实现点击按钮字体放大、缩小
Feb 29 Javascript
原生JS封装Ajax插件(同域、jsonp跨域)
May 03 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
Feb 01 Javascript
解决easyui日期时间框ie的兼容的问题
Mar 01 Javascript
微信小程序实现弹出菜单功能
Jun 12 Javascript
微信小程序的授权实现过程解析
Aug 02 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
vue 实现element-ui中的加载中状态
Nov 11 Javascript
Jquery上传插件 uploadify v3.1使用说明
Jun 18 #Javascript
uploadify 3.0 详细使用说明
Jun 18 #Javascript
通过Javascript创建一个选择文件的对话框代码
Jun 16 #Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 #Javascript
精心挑选的15个jQuery下拉菜单制作教程
Jun 15 #Javascript
jQuery操作input type=radio的实现代码
Jun 14 #Javascript
jQuery操作 input type=checkbox的实现代码
Jun 14 #Javascript
You might like
十天学会php之第六天
2006/10/09 PHP
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
php 获取mysql数据库信息代码
2009/03/12 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
javascript中Object使用详解
2015/01/26 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
Angular的MVC和作用域
2016/12/26 Javascript
微信小程序 摇一摇抽奖简单实例实现代码
2017/01/09 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
Postman模拟发送带token的请求方法
2018/03/31 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
解决layui的form里的元素进行动态生成,验证失效的问题
2019/09/14 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python贪吃蛇游戏代码
2020/04/18 Python
django如何通过类视图使用装饰器
2019/07/24 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
实例讲解使用SVG制作loading加载动画的方法
2016/04/05 HTML / CSS
自我评价的正确写法
2013/09/19 职场文书
大专毕业生简历的自我评价
2013/10/20 职场文书
经典导游欢迎词大全
2014/01/16 职场文书
护士在校生自荐信
2014/02/01 职场文书
《小小竹排画中游》教学反思
2014/02/26 职场文书
理发店策划方案
2014/06/05 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
垂直极限观后感
2015/06/08 职场文书