我注意到,对于我的一些ajax请求,正在使用连接的额外时间,它几乎达到1s左右,这使得请求变慢。一旦发出请求,后续请求就不需要时间来连接建立。但是如果我再无人看管它会再次建立新连接。我无法确定浏览器在哪种情况下建立新连接。我检查了其他网站(gmail,stackoverflow)以验证他们是否ajax请求也建立初始连接,但无法找到任何。有什么方法可以避免这种连接建立?
答案 0 :(得分:0)
我认为你应该增加你的AJAX请求的超时,这样你的XHR将保持活着更长的时间。当你想要为同一服务重新连接到服务器时,也尝试使用相同的XHR对象(刷新后)但是有时候,如果浏览器在缓存中找到所请求的数据,那么它可能会避免再次请求服务器。另外一个原因可能是每次您的URL被不必要地更改时,浏览器强制需要请求服务器(不太确定)。
<强>更新强>
var xhr;
xhr = new XMLHttpRequest();
xhr.open("GET", url, true);
xhr.timeout = 10000;
xhr.ontimeout = timeoutFired;
xhr.send(null);