From: Jörn Zaefferer <joern.zaefferer@gmail.com>
Date: Fri, 22 Dec 2006 13:56:36 +0000 (+0000)
Subject: Implemented global ajax settings - no documentation yet
X-Git-Url: http://git.asbjorn.biz/?a=commitdiff_plain;h=fc84b9db10da2f69a830dbb9aa78b9c214b297ae;p=jquery.git

Implemented global ajax settings - no documentation yet
---

diff --git a/build/test/data/testsuite.css b/build/test/data/testsuite.css
index b42f2b7..76319d8 100644
--- a/build/test/data/testsuite.css
+++ b/build/test/data/testsuite.css
@@ -1,6 +1,6 @@
 body, div, h1 { font-family: 'trebuchet ms', verdana, arial; margin: 0; padding: 0 }
-body { margin: 0; padding: 0; font-size: small; }
-h1 { padding: 15px; margin: 0; font-size: large; background-color: #06b; color: white; }
+body {font-size: 10pt; }
+h1 { padding: 15px; font-size: large; background-color: #06b; color: white; }
 h2 { padding: 10px; background-color: #eee; color: black; margin: 0; font-size: small; font-weight: normal }
 
 .pass { color: green; } 
diff --git a/src/ajax/ajax.js b/src/ajax/ajax.js
index 2e222d4..b6a18f4 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 1cd072f..1ae6bbf 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();
+});