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 相关文章推荐
基于jquery实现图片广告轮换效果代码
Jul 07 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
May 27 Javascript
js获取元素相对窗口位置的实现代码
Sep 28 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
Javascript中的call()方法介绍
Mar 15 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
vue之浏览器存储方法封装实例
Mar 15 Javascript
Angular6 写一个简单的Select组件示例
Aug 20 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
js canvas实现星空连线背景特效
Nov 01 Javascript
vue组件内部引入外部js文件的方法
Jan 18 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 裁剪图片成固定大小代码方法
2009/09/09 PHP
PHP执行zip与rar解压缩方法实现代码
2010/12/05 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP Include文件实例讲解
2019/02/15 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
2014/09/22 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
JS实现多功能计算器
2020/10/28 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python读取sqlite数据库文件的方法分析
2017/08/07 Python
Python查看微信撤回消息代码
2018/06/07 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
Django框架视图介绍与使用详解
2019/07/18 Python
Python算法中的时间复杂度问题
2019/11/19 Python
Python基础之列表常见操作经典实例详解
2020/02/26 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
华为python面试题
2016/05/03 面试题
会计自我鉴定
2014/02/04 职场文书
高中物理教学反思
2014/02/08 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
美术学专业求职信
2014/07/23 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
拖欠货款起诉状
2015/05/20 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL