Fixes #4897. Added ?? as a context-insensitive placeholder for the callback name of a JSONP request. Unit tests provided.
This commit is contained in:
parent
f83cdc3c4c
commit
0c51e9d55f
3 changed files with 62 additions and 5 deletions
|
@ -1,7 +1,7 @@
|
|||
(function( jQuery ) {
|
||||
|
||||
var jsc = jQuery.now(),
|
||||
jsre = /\=(?:\?|%3F)(&|$)/i,
|
||||
jsre = /(\=)(?:\?|%3F)(&|$)|()(?:\?\?|%3F%3F)()/i,
|
||||
rquery_jsonp = /\?/;
|
||||
|
||||
// Default jsonp settings
|
||||
|
@ -25,8 +25,8 @@ jQuery.ajax.prefilter("json jsonp", function(s, originalSettings) {
|
|||
|
||||
var jsonpCallback = s.jsonpCallback =
|
||||
jQuery.isFunction( s.jsonpCallback ) ? s.jsonpCallback() : s.jsonpCallback,
|
||||
url = s.url.replace(jsre, "=" + jsonpCallback + "$1"),
|
||||
data = s.url === url && typeof(s.data) === "string" ? s.data.replace(jsre, "=" + jsonpCallback + "$1") : s.data;
|
||||
url = s.url.replace(jsre, "$1" + jsonpCallback + "$2"),
|
||||
data = s.url === url && typeof(s.data) === "string" ? s.data.replace(jsre, "$1" + jsonpCallback + "$2") : s.data;
|
||||
|
||||
if ( url === s.url && data === s.data ) {
|
||||
url += (rquery_jsonp.test( url ) ? "&" : "?") + s.jsonp + "=" + jsonpCallback;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue