aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2006-12-22 13:56:36 +0000
committerJörn Zaefferer <joern.zaefferer@gmail.com>2006-12-22 13:56:36 +0000
commitfc84b9db10da2f69a830dbb9aa78b9c214b297ae (patch)
treee273cad54e8a64a420d6e713f3b7c762243077f1 /src
parent30dc79f1d0aca3ead3980f890a546bc245feb5d5 (diff)
downloadjquery-fc84b9db10da2f69a830dbb9aa78b9c214b297ae.tar.gz
jquery-fc84b9db10da2f69a830dbb9aa78b9c214b297ae.zip
Implemented global ajax settings - no documentation yet
Diffstat (limited to 'src')
-rw-r--r--src/ajax/ajax.js44
-rw-r--r--src/ajax/ajaxTest.js16
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();
+});