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 相关文章推荐
入门基础学习 ExtJS笔记(一)
Nov 11 Javascript
循环 vs 递归浅谈
Feb 28 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 Javascript
ionic隐藏tabs的方法
Aug 29 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 Javascript
修改vue源码实现动态路由缓存的方法
Jan 21 Javascript
详解node.js 事件循环
Jul 22 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+javascript模拟Matrix画面
2006/10/09 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
js 表单验证方法(实用)
2009/04/28 Javascript
jquery text()要注意啦
2009/10/30 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
关于JavaScript的面向对象和继承有利新手学习
2013/01/11 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
跟老齐学Python之网站的结构
2014/10/24 Python
Python itertools模块详解
2015/05/09 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
Python学习之Django的管理界面代码示例
2018/02/10 Python
Python递归实现汉诺塔算法示例
2018/03/19 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
爱情检讨书大全
2014/01/21 职场文书
我爱祖国演讲稿
2014/09/02 职场文书
个人四风对照检查材料
2014/09/26 职场文书
党员批评与自我批评思想汇报
2014/10/08 职场文书
故宫导游词
2015/01/31 职场文书
重阳节活动主持词
2015/07/04 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android