mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Ajax: Don't process non-string data property on no-entity-body requests
Fixes gh-3438 Closes gh-3781
This commit is contained in:
parent
022b69a44e
commit
d7237896c7
@ -597,8 +597,8 @@ jQuery.extend( {
|
||||
// Remember the hash so we can put it back
|
||||
uncached = s.url.slice( cacheURL.length );
|
||||
|
||||
// If data is available, append data to url
|
||||
if ( s.data ) {
|
||||
// If data is available and should be processed, append data to url
|
||||
if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
|
||||
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
||||
|
||||
// #9682: remove data so that it's not used in an eventual retry
|
||||
|
@ -1274,7 +1274,7 @@ QUnit.module( "ajax", {
|
||||
};
|
||||
} );
|
||||
|
||||
ajaxTest( "jQuery.ajax() - data - no processing ", 1, function( assert ) {
|
||||
ajaxTest( "jQuery.ajax() - data - no processing POST", 1, function( assert ) {
|
||||
return {
|
||||
url: "bogus.html",
|
||||
data: { devo: "A Beautiful World" },
|
||||
@ -1289,6 +1289,37 @@ QUnit.module( "ajax", {
|
||||
};
|
||||
} );
|
||||
|
||||
ajaxTest( "jQuery.ajax() - data - no processing GET", 1, function( assert ) {
|
||||
return {
|
||||
url: "bogus.html",
|
||||
data: { devo: "A Beautiful World" },
|
||||
type: "get",
|
||||
contentType: "x-something-else",
|
||||
processData: false,
|
||||
beforeSend: function( _, s ) {
|
||||
assert.deepEqual( s.data, { devo: "A Beautiful World" }, "data is not processed" );
|
||||
return false;
|
||||
},
|
||||
error: true
|
||||
};
|
||||
} );
|
||||
|
||||
ajaxTest( "jQuery.ajax() - data - process string with GET", 2, function( assert ) {
|
||||
return {
|
||||
url: "bogus.html",
|
||||
data: "a=1&b=2",
|
||||
type: "get",
|
||||
contentType: "x-something-else",
|
||||
processData: false,
|
||||
beforeSend: function( _, s ) {
|
||||
assert.equal( s.url, "bogus.html?a=1&b=2", "added data to url" );
|
||||
assert.equal( s.data, undefined, "removed data from settings" );
|
||||
return false;
|
||||
},
|
||||
error: true
|
||||
};
|
||||
} );
|
||||
|
||||
var ifModifiedNow = new Date();
|
||||
|
||||
jQuery.each(
|
||||
|
Loading…
Reference in New Issue
Block a user