Bug Tracker

Modify

Ticket #1080 (closed bug: fixed)

Opened 6 years ago

Last modified 6 years ago

$.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:
Blocking: Blocked by:

Description (last modified by john) (diff)

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

comment:1 Changed 6 years ago by malsup

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:

if (s && s.data == window.undefined) s.data = jQuery.ajaxSettings.data; 

and changing the line in $.get that sets data = null to

data = window.undefined; 

comment:2 Changed 6 years ago by john

  • Owner set to john
  • Priority changed from critical to major
  • Version changed from 1.1.1 to 1.1.3
  • Description modified (diff)
  • Milestone changed from 1.2 to 1.1.4

comment:3 Changed 6 years ago by john

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in SVN rev [2783].

Please follow the  bug reporting guidlines and use  jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

View

Add a comment

Modify Ticket

Action
as closed
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.