Allow DELETE requests to have a content body, and properly serialize data to the url for HEAD requests. Fixes #7285.
This commit is contained in:
parent
974b5aeab7
commit
09022e0b09
|
@ -4,7 +4,7 @@ var jsc = jQuery.now(),
|
|||
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
|
||||
rselectTextarea = /^(?:select|textarea)/i,
|
||||
rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
|
||||
rnoContent = /^(?:GET|HEAD|DELETE)$/,
|
||||
rnoContent = /^(?:GET|HEAD)$/,
|
||||
rbracket = /\[\]$/,
|
||||
jsre = /\=\?(&|$)/,
|
||||
rquery = /\?/,
|
||||
|
@ -271,7 +271,7 @@ jQuery.extend({
|
|||
s.cache = false;
|
||||
}
|
||||
|
||||
if ( s.cache === false && type === "GET" ) {
|
||||
if ( s.cache === false && noContent ) {
|
||||
var ts = jQuery.now();
|
||||
|
||||
// try replacing _= if it is there
|
||||
|
@ -281,8 +281,8 @@ jQuery.extend({
|
|||
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
|
||||
}
|
||||
|
||||
// If data is available, append data to url for get requests
|
||||
if ( s.data && type === "GET" ) {
|
||||
// If data is available, append data to url for GET/HEAD requests
|
||||
if ( s.data && noContent ) {
|
||||
s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
|
||||
}
|
||||
|
||||
|
|
|
@ -289,6 +289,32 @@ test("jQuery.ajax - xml: non-namespace elements inside namespaced elements", fun
|
|||
});
|
||||
});
|
||||
|
||||
test("jQuery.ajax - HEAD requests", function() {
|
||||
expect(2);
|
||||
|
||||
stop();
|
||||
jQuery.ajax({
|
||||
url: url("data/name.html"),
|
||||
type: "HEAD",
|
||||
success: function(data, status, xhr){
|
||||
var h = xhr.getAllResponseHeaders();
|
||||
ok( /Date/i.test(h), 'No Date in HEAD response' );
|
||||
|
||||
jQuery.ajax({
|
||||
url: url("data/name.html"),
|
||||
data: { whip_it: "good" },
|
||||
type: "HEAD",
|
||||
success: function(data, status, xhr){
|
||||
var h = xhr.getAllResponseHeaders();
|
||||
ok( /Date/i.test(h), 'No Date in HEAD response with data' );
|
||||
start();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
test("jQuery.ajax - beforeSend", function() {
|
||||
expect(1);
|
||||
stop();
|
||||
|
|
Loading…
Reference in a new issue