XMLHttpRequest 用完后,如何释放掉呢? 一般来说这些资源是不需要你自己手动来释放的,因为在页面关闭的时候系统会自动回收.不过你自己一定要手动回收的话可以做一个 dispose 析构函数:for(var i in obj) delete obj[i];或者结合pool连接池的设计,重复使用这些连接对象. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想释放掉的主要原因是:当使用 open 去检查数据库中是否存在该用户名的时候,会有异常现象。例如:用户名,001,检查不存在,注册成功了,但再次输入 001 的时候,还是会出现检查不存在,就像是第一次检查的结果得不到刷新,所以我就想是不是链接用完之后,没有释放呢?myXMLHttpRequest.open("GET", AjaxUrl, true);myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;myXMLHttpRequest.send(null); 嗯,这个应该是你的浏览器本地缓存策略捣的乱,因为你请求的是同一个地址,因此浏览器直接以上次的请求结果给你了,所以这个问题不是说 xhr 对象释放的问题,你可以这样解决,在请求的URL上加上一个随机参数或时间戳.AjaxUrl += (AjaxUrl.indexOf("?")>0?"&":"?") +".stamp="+ (new Date().getTime().toString(36));保证每次发送的请求地址都不相同, 避免浏览器本地的缓存 晕,这个是因为缓存的问题,一般来说,要给AjaxUrl后面加上一个随机数,让每一次url都不同的,它才会去真正Ajax你要的页面. 我想释放掉的主要原因是:当使用 open 去检查数据库中是否存在该用户名的时候,会有异常现象。 例如:用户名,001,检查不存在,注册成功了,但再次输入 001 的时候,还是会出现检查不存在,就像是第一次检查的结果得不到刷新,所以我就想是不是链接用完之后,没有释放呢? myXMLHttpRequest.open("GET", AjaxUrl, true); myXMLHttpRequest.onreadystatechange = AjaxUpdatePage; myXMLHttpRequest.send(null);=============================这种想象是ajax常见的浏览器缓存导致的,并不是没有释放掉 xmlhttp解决方法:方法一:xmlHttp.open("GET", "default.aspx?param="+Math.random(), true);或者xmlHttp.open("GET", "default.aspx?param="+new Date().getTime(), true);方法二:xmlHttp.open("GET", "default.aspx", true);xmlHttp.setRequestHeader("If-Modified-Since","0");xmlHttp.send(null); ExtJs中GRID怎么跨行跨列。。。求DEMO 点击下面的连接时。如何实现能自动隐藏本页面以外的框架 JQuery 元素怎么遍历............. 一个javascript中需要理解的东西,请大家指教 xslt怎样去除空格符? 解释型语言究竟是怎么执行的? 一个关于LOCATION很怪且很有意思的问题 怎样用JS设置text中文本的颜色或text文本框的背景色? 我用FRAMESET把一个页面分成了上下两个页面,怎样点击上面页面的按钮就可更改下面页面的背景颜色??? 复选框产生列表的问题。 FCKeditor字数的问题 大胆预测下JS框架的走势(转自javaeye.com)
myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
myXMLHttpRequest.send(null);
myXMLHttpRequest.onreadystatechange = AjaxUpdatePage;
myXMLHttpRequest.send(null);
=============================
这种想象是ajax常见的浏览器缓存导致的,并不是没有释放掉 xmlhttp解决方法:
方法一:
xmlHttp.open("GET", "default.aspx?param="+Math.random(), true);
或者
xmlHttp.open("GET", "default.aspx?param="+new Date().getTime(), true);
方法二:
xmlHttp.open("GET", "default.aspx", true);
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);