我正在使用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