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 相关文章推荐
在JavaScript中实现命名空间
Nov 23 Javascript
Javascript hasOwnProperty 方法 & in 关键字
Nov 26 Javascript
jquery offset函数应用实例
Nov 14 Javascript
红米手机抢购的js代码
Mar 10 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
js实现文字超出部分用省略号代替实例代码
Sep 01 Javascript
JavaScript错误处理和堆栈追踪详解
Apr 18 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
通过 JS 判断页面是否有滚动条的实现方法
Apr 05 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
Apr 24 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
Aug 06 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
我的论坛源代码(六)
2006/10/09 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
微信红包随机生成算法php版
2016/07/21 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
PHP基于DOMDocument解析和生成xml的方法分析
2017/07/17 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
Vue2.x中的父组件传递数据至子组件的方法
2017/05/01 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
js微信应用场景之微信音乐相册案例分享
2017/08/11 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
五句话帮你轻松搞定js原型链
2020/12/09 Javascript
Python中用altzone()方法处理时区的教程
2015/05/22 Python
python3爬取各类天气信息
2018/02/24 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Django中间件基础用法详解
2019/07/18 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
python如何查看安装了的模块
2020/06/23 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
浅谈CSS3 box-sizing 属性 有趣的盒模型
2019/04/02 HTML / CSS
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
final, finally, finalize的区别
2012/03/01 面试题
职工代表大会主持词
2014/04/01 职场文书
公司委托书格式范文
2014/04/04 职场文书
党支部换届选举方案
2014/05/08 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
MySQL高速缓存启动方法及参数详解(query_cache_size)
2021/07/01 MySQL
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技
MySQL数据库表约束讲解
2022/06/21 MySQL