git.asbjorn.biz
/
jquery.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f91b944
)
Make sure original context is maintained and not the deep extended one. Fixes #5924.
author
John Resig
<jeresig@gmail.com>
Mon, 25 Jan 2010 06:08:24 +0000
(
01:08
-0500)
committer
John Resig
<jeresig@gmail.com>
Mon, 25 Jan 2010 06:08:24 +0000
(
01:08
-0500)
src/ajax.js
patch
|
blob
|
history
test/unit/ajax.js
patch
|
blob
|
history
diff --git
a/src/ajax.js
b/src/ajax.js
index
ee52ed8
..
4af502a
100644
(file)
--- a/
src/ajax.js
+++ b/
src/ajax.js
@@
-206,7
+206,7
@@
jQuery.extend({
var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
var jsonp, status, data,
var s = jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);
var jsonp, status, data,
- callbackContext = s.context || s,
+ callbackContext = origSettings && origSettings.context || s,
type = s.type.toUpperCase();
// convert data if not already a string
type = s.type.toUpperCase();
// convert data if not already a string
diff --git
a/test/unit/ajax.js
b/test/unit/ajax.js
index
775523e
..
195fa27
100644
(file)
--- a/
test/unit/ajax.js
+++ b/
test/unit/ajax.js
@@
-180,6
+180,27
@@
test("Ajax events with context", function() {
});
});
});
});
+test("jQuery.ajax context modification", function() {
+ expect(1);
+
+ stop();
+
+ var obj = {}
+
+ jQuery.ajax({
+ url: url("data/name.html"),
+ context: obj,
+ beforeSend: function(){
+ this.test = "foo";
+ },
+ complete: function() {
+ start();
+ }
+ });
+
+ equals( obj.test, "foo", "Make sure the original object is maintained." );
+});
+
test("jQuery.ajax() - disabled globals", function() {
expect( 3 );
stop();
test("jQuery.ajax() - disabled globals", function() {
expect( 3 );
stop();