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
|
// Remember the hash so we can put it back
|
||||||
uncached = s.url.slice( cacheURL.length );
|
uncached = s.url.slice( cacheURL.length );
|
||||||
|
|
||||||
// If data is available, append data to url
|
// If data is available and should be processed, append data to url
|
||||||
if ( s.data ) {
|
if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
|
||||||
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
|
||||||
|
|
||||||
// #9682: remove data so that it's not used in an eventual retry
|
// #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 {
|
return {
|
||||||
url: "bogus.html",
|
url: "bogus.html",
|
||||||
data: { devo: "A Beautiful World" },
|
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();
|
var ifModifiedNow = new Date();
|
||||||
|
|
||||||
jQuery.each(
|
jQuery.each(
|
||||||
|
Loading…
Reference in New Issue
Block a user