aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ajax.js2
-rw-r--r--test/unit/ajax.js29
2 files changed, 31 insertions, 0 deletions
diff --git a/src/ajax.js b/src/ajax.js
index cc871330d..97d40391d 100644
--- a/src/ajax.js
+++ b/src/ajax.js
@@ -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
diff --git a/test/unit/ajax.js b/test/unit/ajax.js
index 7f3f39aff..b7eb57d8e 100644
--- a/test/unit/ajax.js
+++ b/test/unit/ajax.js
@@ -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();