ajax请求在指定的超时之前中止

时间:2014-10-29 07:44:46

标签: javascript ajax

我正在使用ajax从服务器获取数据。 如果我在指定时间内没有收到服务器的任何回复;然后我想执行一个超时处理程序。我需要将此超时值设置为60秒。 但我看到不同浏览器的不同行为如下:

如果指定的超时时间长达40秒,IE9将执行超时处理程序。 如果超时值增加到60; IE9不执行超时处理程序。 在IE9调试工具中,我看到请求在40秒后中止,即使超时被指定为60秒。

mozilla也是如此。

如果指定的超时时间长达20秒,Chrome将执行超时处理程序。 如果超时值增加到30; chrome不执行超时处理程序。

以下是我发送ajax请求的方式:

 http_request = new XMLHttpRequest();
 http_request.open('GET', url, true);

 http_request.ontimeout = function()
 { 
   timeoutaction(http_request); // function to execute when timeout occurs

 };


 http_request.onreadystatechange = function() 
 { 
      processContents(http_request); // function to execute onreadystatechange 
 };


 http_request.timeout = 60000;// Timeout value -- 60 seconds

 http_request.send(null);

谢谢,

Swapnil

0 个答案:

没有答案