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 相关文章推荐
JS 有名函数表达式全面解析
Mar 19 Javascript
js实现在文本框光标处添加字符的方法介绍
Nov 24 Javascript
Javascript中valueOf与toString区别浅析
Mar 19 Javascript
Js base64 加密解密介绍
Oct 11 Javascript
jQuery 和 CSS 的文本特效插件集锦
Dec 12 Javascript
javascript设计简单的秒表计时器
Sep 05 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
JS组件Bootstrap Select2使用方法详解
Apr 17 Javascript
select自定义小三角样式代码(实用总结)
Aug 18 Javascript
mui框架移动开发初体验详解
Oct 11 Javascript
详解vue axios用post提交的数据格式
Aug 07 Javascript
vue 登录滑动验证实现代码
Aug 24 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 cookis创建实现代码
2009/03/16 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
BootStrap Table对前台页面表格的支持实例讲解
2016/12/22 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
用python处理MS Word的实例讲解
2018/05/08 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
python3 map函数和filter函数详解
2019/08/26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python初步实现word2vec操作
2020/06/09 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
商务英语专业求职信
2014/06/26 职场文书
社区服务标语
2014/07/01 职场文书
金融管理专业求职信
2014/07/10 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
公司宣传语大全
2015/07/13 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
js 数组 fill() 填充方法
2021/11/02 Javascript
Java异常处理try catch的基本用法
2021/12/06 Java/Android
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA