git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make sure that jQuery works even when the individual modules are loaded separately...
[jquery.git]
/
src
/
ajax.js
diff --git
a/src/ajax.js
b/src/ajax.js
index
7cf280a
..
52a5a22
100644
(file)
--- a/
src/ajax.js
+++ b/
src/ajax.js
@@
-1,3
+1,5
@@
+(function( jQuery ) {
+
var jsc = jQuery.now(),
rscript = /<script(.|\s)*?\/script>/gi,
rselectTextarea = /select|textarea/i,
var jsc = jQuery.now(),
rscript = /<script(.|\s)*?\/script>/gi,
rselectTextarea = /select|textarea/i,
@@
-237,17
+239,25
@@
jQuery.extend({
s.dataType = "script";
// Handle JSONP-style loading
s.dataType = "script";
// Handle JSONP-style loading
- window[ jsonp ] = window[ jsonp ] || function( tmp ) {
+ var customJsonp = window[ jsonp ];
+
+ window[ jsonp ] = function( tmp ) {
data = tmp;
jQuery.ajax.handleSuccess( s, xhr, status, data );
jQuery.ajax.handleComplete( s, xhr, status, data );
data = tmp;
jQuery.ajax.handleSuccess( s, xhr, status, data );
jQuery.ajax.handleComplete( s, xhr, status, data );
- // Garbage collect
- window[ jsonp ] = undefined;
+
+ if ( jQuery.isFunction( customJsonp ) ) {
+ customJsonp( tmp );
- try {
- delete window[ jsonp ];
- } catch( jsonpError ) {}
+ } else {
+ // Garbage collect
+ window[ jsonp ] = undefined;
+ try {
+ delete window[ jsonp ];
+ } catch( jsonpError ) {}
+ }
+
if ( head ) {
head.removeChild( script );
}
if ( head ) {
head.removeChild( script );
}
@@
-436,7
+446,9
@@
jQuery.extend({
}
// Fire the complete handlers
}
// Fire the complete handlers
- jQuery.ajax.handleComplete( s, xhr, status, data );
+ if ( !jsonp ) {
+ jQuery.ajax.handleComplete( s, xhr, status, data );
+ }
if ( isTimeout === "timeout" ) {
xhr.abort();
if ( isTimeout === "timeout" ) {
xhr.abort();
@@
-474,7
+486,7
@@
jQuery.extend({
// Send the data
try {
// Send the data
try {
- xhr.send( type === "POST" || type === "PUT" || type === "DELETE" ? s.data : null );
+ xhr.send( (type !== "GET" && s.data) || null );
} catch( sendError ) {
jQuery.ajax.handleError( s, xhr, null, e );
} catch( sendError ) {
jQuery.ajax.handleError( s, xhr, null, e );
@@
-676,3
+688,5
@@
jQuery.extend( jQuery.ajax, {
// For backwards compatibility
jQuery.extend( jQuery.ajax );
// For backwards compatibility
jQuery.extend( jQuery.ajax );
+
+})( jQuery );