Side navigation
#1080 closed bug (fixed)
Opened March 28, 2007 02:36AM UTC
Closed August 19, 2007 11:38PM UTC
$.get(url, callback) overwrites default 'data' parameter
| Reported by: | spinal007 | Owned by: | john |
|---|---|---|---|
| Priority: | major | Milestone: | 1.1.4 |
| Component: | ajax | Version: | 1.1.3 |
| Keywords: | ajax data | Cc: | |
| Blocked by: | Blocking: |
Description
Please see the code and comments below for explanation...
// Consider the following default settings
$.ajaxSetup({
data:{'var1':'A', 'var2':'B'}
});
$(document.body).click(function(){
// TEST 1
$.get('/test1/', function(r){ });
//RESULT: GET http://localhost/test1/
//WRONG: Missing var1=A&var2=B
// TEST 2
$.get('/test2/', null, function(r){ });
//RESULT: GET http://localhost/test2/
//WRONG: Missing var1=A&var2=B
// TEST 3
$.get('/test3/', {}, function(r){ });
//RESULT: GET http://localhost/test3/?
//WRONG: Missing var1=A&var2=B
// TEST 4
$.get('/test4/', {'var3':'C'});
//RESULT: GET http://localhost/test4/?var3=C
//WRONG: Missing var1=A&var2=B
// TEST 5
$.get('/test5/');
//RESULT: GET http://localhost/test5/
//WRONG: Missing var1=A&var2=B
});
Attachments (0)
Change History (3)
Changed April 05, 2007 03:27PM UTC by comment:1
Changed July 21, 2007 01:20AM UTC by comment:2
| description: | Please see the code and comments below for explanation...\ \ {{{\ // Consider the following default settings\ $.ajaxSetup({\ data:{'var1':'A', 'var2':'B'}\ });\ \ $(document.body).click(function(){\ // TEST 1\ $.get('/test1/', function(r){ });\ //RESULT: GET http://localhost/test1/\ //WRONG: Missing var1=A&var2=B\ \ // TEST 2\ $.get('/test2/', null, function(r){ });\ //RESULT: GET http://localhost/test2/\ //WRONG: Missing var1=A&var2=B\ \ // TEST 3\ $.get('/test3/', {}, function(r){ });\ //RESULT: GET http://localhost/test3/?\ //WRONG: Missing var1=A&var2=B\ \ // TEST 4\ $.get('/test4/', {'var3':'C'});\ //RESULT: GET http://localhost/test4/?var3=C\ //WRONG: Missing var1=A&var2=B\ \ // TEST 5\ $.get('/test5/');\ //RESULT: GET http://localhost/test5/\ //WRONG: Missing var1=A&var2=B\ });\ \ }}}\ → Please see the code and comments below for explanation... \ \ {{{ \ // Consider the following default settings \ $.ajaxSetup({ \ data:{'var1':'A', 'var2':'B'} \ }); \ \ $(document.body).click(function(){ \ // TEST 1 \ $.get('/test1/', function(r){ }); \ //RESULT: GET http://localhost/test1/ \ //WRONG: Missing var1=A&var2=B \ \ // TEST 2 \ $.get('/test2/', null, function(r){ }); \ //RESULT: GET http://localhost/test2/ \ //WRONG: Missing var1=A&var2=B \ \ // TEST 3 \ $.get('/test3/', {}, function(r){ }); \ //RESULT: GET http://localhost/test3/? \ //WRONG: Missing var1=A&var2=B \ \ // TEST 4 \ $.get('/test4/', {'var3':'C'}); \ //RESULT: GET http://localhost/test4/?var3=C \ //WRONG: Missing var1=A&var2=B \ \ // TEST 5 \ $.get('/test5/'); \ //RESULT: GET http://localhost/test5/ \ //WRONG: Missing var1=A&var2=B \ }); \ \ }}} \ |
|---|---|
| milestone: | 1.2 → 1.1.4 |
| owner: | → john |
| priority: | critical → major |
| version: | 1.1.1 → 1.1.3 |
Changed August 19, 2007 11:38PM UTC by comment:3
| resolution: | → fixed |
|---|---|
| status: | new → closed |
Fixed in SVN rev [2783].
I'm not sure I agree with test 2, 3 and 4. Are you suggesting that the default data is *always* added to the request url? That's not how the other options work. For all the other options, values that are provided on the $.get call override those provided in ajaxSettings. We could achieve the same behavior using this as the first line in $.ajax:
and changing the line in $.get that sets data = null to