让我们说我有这个code在javascript:
函数doAnAjaxCall(){
VAR xhr1 =新XMLHtt prequest();
xhr1.open(GET,/ myLink的,真正的);
xhr1.onreadystatechange =功能(){
如果(this.readyState == 4和&安培; this.status == 200){
警报(我有一个回应!);
}
};
xhr1.send(空);
}
和让code在servlet是:
公共类RootServlet延伸的HttpServlet {
公共无效的doGet(HttpServletRequest的REQ,HttpServletResponse的RESP)抛出IOException异常{
resp.getWriter()写(这是怎么回事DOC?)。
resp.setStatus(200);
}
}
将xhr1仍然等待在readyState的新变化?或它尽快得到的第一反应关闭? 如果它仍然是开放的,将它导致内存泄漏/慢浏览器过了一段时间,积累了一些这些的? 我应该始终调用resp.getWriter()。关闭()在这个servlet code结束了吗?
和,最后,在jQuery的球迷在那里:
确实 $。阿贾克斯()
表现得像 XMLHtt prequest()
在这方面?
将xhr1仍然等待在readyState的新变化?或者是,一旦它得到的第一反应关闭?如果它仍然是开放的,它会经过一段时间导致内存泄漏/慢的浏览器,并积累了一些这些的?的
在幕后,它仍然是开放的。它(和内存占用),然而在web浏览器引擎的责任。它保持在具有每个域的最大限制反正池一定数量的连接。 MSIE例如有一个bug,导致漏液离开时,他们仍在运行,而用户卸载(关闭)的窗口。
我应该始终调用 resp.getWriter()。关闭()
在这个servlet code结束了吗?的
没有必要。该servletcontainer将强行关闭。自己关闭它只有prevents一些(越野车),code在响应链进一步写入到响应体的风险。有关更多详细信息,请参阅this回答。
,最后是对jQuery的球迷在那里:确实 $阿贾克斯()
表现得像 XMLHtt prequest( )
在这方面?的
它使用 XMLHtt prequest
在幕后(仅当浏览器支持,否则它是MSIE ActiveX对象)。它构建在每次调用一个新的。打开href="http://$c$c.jquery.com/jquery-latest.js" rel="nofollow"> unminified源$ C $ C 的