Implemented global ajax settings - no documentation yet

This commit is contained in:
Jörn Zaefferer 2006-12-22 13:56:36 +00:00
parent 30dc79f1d0
commit fc84b9db10
3 changed files with 38 additions and 26 deletions

View file

@ -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; }

View file

@ -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);

View file

@ -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();
}
});
});
});
test("ajaxSetup()", function() {
expect(1);
stop();
$.ajaxSetup({
url: "data/name.php?name=foo",
success: function(msg){
ok( msg == 'bar', 'Check for GET' );
start();
}
});
$.ajax();
});