Opened 16 years ago
Closed 16 years ago
#1080 closed bug (fixed)
$.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 (last modified by )
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 });
Change History (3)
comment:1 Changed 16 years ago by
comment:2 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Milestone: | 1.2 → 1.1.4 |
Owner: | set to john |
Priority: | critical → major |
Version: | 1.1.1 → 1.1.3 |
Note: See
TracTickets for help on using
tickets.
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