Make sure that #... are trimmed from Ajax request URLs. Fixes #4987.
This commit is contained in:
parent
a32f4d7b6c
commit
f9f9ee52e1
2 changed files with 31 additions and 0 deletions
|
@ -10,6 +10,7 @@ var jsc = jQuery.now(),
|
|||
rts = /([?&])_=[^&]*(&?)/,
|
||||
rurl = /^(\w+:)?\/\/([^\/?#]+)/,
|
||||
r20 = /%20/g,
|
||||
rhash = /#[^#]*$/,
|
||||
|
||||
// Keep a copy of the old load method
|
||||
_load = jQuery.fn.load;
|
||||
|
@ -205,6 +206,7 @@ jQuery.extend({
|
|||
var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings),
|
||||
jsonp, status, data, type = s.type.toUpperCase();
|
||||
|
||||
s.url = s.url.replace( rhash, "" );
|
||||
s.context = origSettings && origSettings.context || s;
|
||||
|
||||
// convert data if not already a string
|
||||
|
|
|
@ -68,6 +68,35 @@ test("jQuery.ajax() - error callbacks", function() {
|
|||
});
|
||||
});
|
||||
|
||||
test(".ajax() - hash", function() {
|
||||
expect(3);
|
||||
|
||||
jQuery.ajax({
|
||||
url: "data/name.html#foo",
|
||||
beforeSend: function( xhr, settings ) {
|
||||
equals(settings.url, "data/name.html", "Make sure that the URL is trimmed.");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.ajax({
|
||||
url: "data/name.html?abc#foo",
|
||||
beforeSend: function( xhr, settings ) {
|
||||
equals(settings.url, "data/name.html?abc", "Make sure that the URL is trimmed.");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
jQuery.ajax({
|
||||
url: "data/name.html?abc#foo",
|
||||
data: { "test": 123 },
|
||||
beforeSend: function( xhr, settings ) {
|
||||
equals(settings.url, "data/name.html?abc&test=123", "Make sure that the URL is trimmed.");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test(".ajax() - 304", function() {
|
||||
expect( 1 );
|
||||
stop();
|
||||
|
|
Loading…
Reference in a new issue