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图片的展开和收缩实现代码
Apr 16 Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
React Native预设占位placeholder的使用
Sep 28 Javascript
vue实现模态框的通用写法推荐
Feb 26 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
Aug 15 Javascript
解决vue-cli 打包后自定义动画未执行的问题
Nov 12 Javascript
vue-socket.io接收不到数据问题的解决方法
May 13 Javascript
react使用CSS实现react动画功能示例
May 18 Javascript
vue:el-input输入时限制输入的类型操作
Aug 05 Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 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
dedecms采集中可以过滤多行代码的正则表达式
2007/03/17 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
js 点击按钮弹出另一页,选择值后,返回到当前页
2010/05/26 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
js数组实现权重概率分配
2017/09/12 Javascript
js的各种数据类型判断的介绍
2019/01/19 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
利用numpy+matplotlib绘图的基本操作教程
2017/05/03 Python
python使用邻接矩阵构造图代码示例
2017/11/10 Python
Python实现扣除个人税后的工资计算器示例
2018/03/26 Python
通过python实现弹窗广告拦截过程详解
2019/07/10 Python
python根据时间获取周数代码实例
2019/09/30 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
生态学毕业生自荐信
2013/10/27 职场文书
企业宣传工作方案
2014/06/02 职场文书
司机工作自我鉴定
2014/09/19 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
2016年先进教师个人事迹材料
2016/02/26 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电