diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2006-12-22 13:56:36 +0000 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2006-12-22 13:56:36 +0000 |
commit | fc84b9db10da2f69a830dbb9aa78b9c214b297ae (patch) | |
tree | e273cad54e8a64a420d6e713f3b7c762243077f1 /src | |
parent | 30dc79f1d0aca3ead3980f890a546bc245feb5d5 (diff) | |
download | jquery-fc84b9db10da2f69a830dbb9aa78b9c214b297ae.tar.gz jquery-fc84b9db10da2f69a830dbb9aa78b9c214b297ae.zip |
Implemented global ajax settings - no documentation yet
Diffstat (limited to 'src')
-rw-r--r-- | src/ajax/ajax.js | 44 | ||||
-rw-r--r-- | src/ajax/ajaxTest.js | 16 |
2 files changed, 36 insertions, 24 deletions
diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js index 2e222d453..b6a18f4f2 100644 --- a/src/ajax/ajax.js +++ b/src/ajax/ajax.js @@ -407,7 +407,7 @@ jQuery.extend({ }, // timeout (ms) - timeout: 0, + //timeout: 0, /** * Set the timeout of all AJAX requests to a specific amount of time. @@ -428,11 +428,26 @@ jQuery.extend({ * @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. @@ -555,22 +570,7 @@ jQuery.extend({ */ 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 ) { @@ -677,14 +677,12 @@ jQuery.extend({ 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); diff --git a/src/ajax/ajaxTest.js b/src/ajax/ajaxTest.js index 1cd072f9a..1ae6bbf3d 100644 --- a/src/ajax/ajaxTest.js +++ b/src/ajax/ajaxTest.js @@ -127,6 +127,7 @@ test("test global handlers - failure", function() { counter.error = counter.success = counter.complete = counter.send = 0; $.ajaxTimeout(500); $.ajax({url: "data/name.php?wait=5", global: false, beforeSend: send, success: success, error: error, complete: function() { + var x = counter; ok( counter.error == 1, 'Check failed request without globals' ); ok( counter.success == 0, 'Check failed request without globals' ); ok( counter.complete == 0, 'Check failed request without globals' ); @@ -331,4 +332,17 @@ test("$.ajax - beforeSend", function() { start(); } }); -});
\ No newline at end of file +}); + +test("ajaxSetup()", function() { + expect(1); + stop(); + $.ajaxSetup({ + url: "data/name.php?name=foo", + success: function(msg){ + ok( msg == 'bar', 'Check for GET' ); + start(); + } + }); + $.ajax(); +}); |