How does traditional:true affect the order of events firing?
<p>I have an $.ajax success call another function, which includes its own $.getJSON call ($.getJSON is "nested" within the success function of $.ajax). </p>

<p>They both call controller List, and methods SaveList() and GetLists() respectively.  </p>

<p>I can see which controller method fires first with breakpoints, and the existence of the traditional:true parameter in the $.ajax call changes which controller method fires first.  </p>

<p>I have read <a href="http://api.jquery.com/jQuery.ajax/" rel="nofollow">http://api.jquery.com/jQuery.ajax/</a> and <a href="http://api.jquery.com/jQuery.param/" rel="nofollow">http://api.jquery.com/jQuery.param/</a>, but I'm not sure how they explain why the events fire in different orders, and I'd like to understand what causes this behavior.  </p>

<p>Here is the code:</p>

<pre><code>    $.ajax({
        url: '/List/SaveList',
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        data: JSON.stringify(saveData),

        traditional: true,  //Controller events firing are affected by this
    //if this is commented, Controller SaveList is fired first, 
    //if this is not commented, Controller GetLists is fired first

        success: function (data) {
            alert(data);
            GetUserLists();
        },
        failure: function () { alert("Save List Failed"); }
    });
</code></pre>

<p>GetUserLists() has its own $.getJSON call:</p>

<pre><code>function GetUserLists() {
    $.getJSON('/List/GetLists', null)
        .success(function (data) {
        $.each(data, function (key, val) {
            alert(val.ListID + " " + val.ListTitle);
        })
    })
    .error(function (data) { alert("ERROR: " + data.responseText); });
}
</code></pre>
