I got a bug report that I can't duplicate, but ajax-call timeout is the current best guess.
So I'm trying to find out the default v开发者_开发知识库alue for timeout of a jQuery $.ajax()
call. Anybody have an idea? Couldn't find it in jQuery documentation.
There doesn't seem to be a standardized default value. I have the feeling the default is 0
, and the timeout event left totally dependent on browser and network settings.
For IE, there is a timeout property for XMLHTTPRequests here. It defaults to null, and it says the network stack is likely to be the first to time out (which will not generate an ontimeout event by the way).
As an aside, when trying to diagnose a similar bug I realised that jquery's ajax error callback returns a status of "timeout" if it failed due to a timeout.
Here's an example:
$.ajax({
url: "/ajax_json_echo/",
timeout: 500,
error: function(jqXHR, textStatus, errorThrown) {
alert(textStatus); // this will be "timeout"
}
});
Here it is on jsfiddle.
there is no timeout, by default.
The XMLHttpRequest.timeout
property represents a number of milliseconds a request can take before automatically being terminated. The default value is 0
, which means there is no timeout. An important note the timeout shouldn't be used for synchronous XMLHttpRequests
requests, used in a document environment or it will throw an InvalidAccessError
exception. You may not use a timeout for synchronous requests with an owning window.
IE10 and 11 do not support synchronous requests, with support being phased out in other browsers too. This is due to detrimental effects resulting from making them.
More info can be found here.
Please refer to this api info.
timeout
Type: Number
Set a timeout (in milliseconds) for the request. A value of 0 means there
will be no timeout. This will override any global timeout set with
$.ajaxSetup(). The timeout period starts at the point the $.ajax call is made;
if several other requests are in progress and the browser has no connections
available, it is possible for a request to time out before it can be sent. In
jQuery 1.4.x and below, the XMLHttpRequest object will be in an invalid state if
the request times out; accessing any object members may throw an exception. In
Firefox 3.0+ only, script and JSONP requests cannot be cancelled by a timeout;
the script will run even if it arrives after the timeout period.
精彩评论