Implemented global ajax settings - no documentation yet
This commit is contained in:
parent
30dc79f1d0
commit
fc84b9db10
3 changed files with 38 additions and 26 deletions
|
@ -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; }
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue