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 location几个方法小姐
Jul 09 Javascript
Jquery选择器 $实现原理
Dec 02 Javascript
jQuery代码优化 遍历篇
Nov 01 Javascript
JS根据年月获得当月天数的实现代码
Jul 03 Javascript
jquery获取radio值实例
Oct 16 Javascript
sails框架的学习指南
Dec 22 Javascript
ajax+jQuery实现级联显示地址的方法
May 06 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
js控制按钮,防止频繁点击响应的实例
Feb 15 Javascript
js上传图片预览的实现方法
May 09 Javascript
关于uniApp editor微信滑动问题
Jan 15 Javascript
80行代码写一个Webpack插件并发布到npm
May 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生成图形验证码几种方法小结
2013/08/15 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
PHP开发框架kohana中处理ajax请求的例子
2014/07/14 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
javascript 闭包详解
2015/07/02 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
JavaScript中创建对象的7种模式详解
2017/02/21 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
python双向链表实现实例代码
2013/11/21 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
基于Python 装饰器装饰类中的方法实例
2018/04/21 Python
python设置值及NaN值处理方法
2018/07/03 Python
python正则表达式之对号入座篇
2018/07/24 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
使用python模拟高斯分布例子
2019/12/09 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
python 串行执行和并行执行实例
2020/04/30 Python
python爬取抖音视频的实例分析
2021/01/19 Python
机关搬迁方案
2014/05/18 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
三八妇女节慰问信
2015/02/14 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
漫画「处刑少女的生存之道」第3卷封面公开
2022/03/21 日漫
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js