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 相关文章推荐
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
原生js中ajax访问的实例详解
Sep 19 Javascript
Angular4 ElementRef的应用
Feb 26 Javascript
VUE-cli3使用 svg-sprite-loader
Oct 20 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
Aug 16 Javascript
vue+moment实现倒计时效果
Aug 26 Javascript
在vue中axios设置timeout超时的操作
Sep 04 Javascript
如何在vue中使用kindeditor富文本编辑器
Dec 19 Vue.js
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
apache rewrite_module模块使用教程
2008/01/10 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
基于PHP CURL获取邮箱地址的详解
2013/06/03 PHP
php统计文章排行示例
2014/03/04 PHP
php操作redis缓存方法分享
2015/06/03 PHP
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
vue2 mint-ui loadmore实现下拉刷新,上拉更多功能
2018/03/21 Javascript
vue-cli2.x项目优化之引入本地静态库文件的方法
2018/06/19 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
json字符串对象转换代码实例
2019/09/28 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
python TKinter获取文本框内容的方法
2018/10/11 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
python实现大学人员管理系统
2019/10/25 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
费用会计岗位职责
2014/01/01 职场文书
触摸春天教学反思
2014/02/03 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书