Added in support for $.ajax jsonpCallback (allowing you to specify the name of the...
[jquery.git] / src / ajax.js
index 9442608..7c5c838 100644 (file)
@@ -221,7 +221,7 @@ jQuery.extend({
 
                // Build temporary JSONP function
                if ( s.dataType === "json" && (s.data && jsre.test(s.data) || jsre.test(s.url)) ) {
-                       jsonp = "jsonp" + jsc++;
+                       jsonp = s.jsonpCallback || ("jsonp" + jsc++);
 
                        // Replace the =? sequence both in the query string and the data
                        if ( s.data ) {
@@ -235,7 +235,7 @@ jQuery.extend({
                        s.dataType = "script";
 
                        // Handle JSONP-style loading
-                       window[ jsonp ] = function(tmp){
+                       window[ jsonp ] = window[ jsonp ] || function(tmp){
                                data = tmp;
                                success();
                                complete();
@@ -331,7 +331,7 @@ jQuery.extend({
                // Need an extra try/catch for cross domain requests in Firefox 3
                try {
                        // Set the correct header, if data is being sent
-                       if ( s.data || origSettings.contentType ) {
+                       if ( s.data || origSettings && origSettings.contentType ) {
                                xhr.setRequestHeader("Content-Type", s.contentType);
                        }