},
// timeout (ms)
- timeout: 0,
+ //timeout: 0,
/**
* Set the timeout of all AJAX requests to a specific amount of time.
* @cat AJAX
*/
ajaxTimeout: function(timeout) {
- jQuery.timeout = timeout;
+ //jQuery.timeout = timeout;
+ jQuery.ajaxSettings.timeout = timeout;
+ },
+
+ ajaxSetup: function(settings) {
+ jQuery.extend(jQuery.ajaxSettings, settings);
},
// Last-Modified header cache for next request
lastModified: {},
+
+ // TODO document me
+ ajaxSettings: {
+ global: true,
+ type: "GET",
+ timeout: 0,
+ contentType: "application/x-www-form-urlencoded",
+ processData: true,
+ async: true
+ },
/**
* Load a remote page using an HTTP request.
* Last-Modified header. Default value is false, ignoring the header.
*
* (Number) timeout - Local timeout to override global timeout, eg. to give a
- * single request a longer timeout while all others timeout after 1 seconds.
+ * single request a longer timeout while all others timeout after 1 second.
* See $.ajaxTimeout() for global timeouts.
*
* (Boolean) global - Whether to trigger global AJAX event handlers for
*/
ajax: function( s ) {
// TODO introduce global settings, allowing the client to modify them for all requests, not only timeout
- s = jQuery.extend({
- global: true,
- ifModified: false,
- type: "GET",
- timeout: jQuery.timeout,
- complete: null,
- success: null,
- error: null,
- dataType: null,
- url: null,
- data: null,
- contentType: "application/x-www-form-urlencoded",
- processData: true,
- async: true,
- beforeSend: null
- }, s);
+ s = jQuery.extend({}, jQuery.ajaxSettings, s);
// if data available
if ( s.data ) {
if(s.timeout > 0)
setTimeout(function(){
// Check to see if the request is still happening
- if (xml) {
+ if(xml) {
// Cancel the request
xml.abort();
- if ( !requestDone ) onreadystatechange( "timeout" );
-
- // Clear from memory
- xml = null;
+ if( !requestDone )
+ onreadystatechange( "timeout" );
}
}, s.timeout);