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 EasyUI 中文API Layout(Tabs)
Apr 27 Javascript
Javascript继承(上)——对象构建介绍
Nov 08 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
Jan 24 Javascript
jQuery实现可收缩展开的级联菜单实例代码
Nov 27 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
Jun 20 Javascript
Javascript基础教程之数据类型 (数值 Number)
Jan 18 Javascript
JS实现弹性菜单效果代码
Sep 07 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
小程序清理本地缓存的方法
Aug 17 Javascript
小程序实现横向滑动日历效果
Oct 21 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
Vue.js中v-bind指令的用法介绍
Mar 13 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
PHP中其实也可以用方法链
2011/11/10 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
js表数据排序 sort table data
2009/02/18 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jquery选择checked在ie8普通模式下的问题
2014/02/12 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
JavaScript eval()函数定义及使用方法详解
2020/07/07 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
详解Vue的异步更新实现原理
2020/12/22 Vue.js
Python 中的 else详解
2016/04/23 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
2014年幼儿园植树节活动方案
2014/03/02 职场文书
安全生产标语
2014/06/06 职场文书
植物生产学专业求职信
2014/08/08 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
工资证明范本
2015/06/12 职场文书
运动会报道稿大全
2015/07/23 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python