Response title
This is preview!




$.param() method serializes deep objects recursively to accommodate modern scripting languages and frameworks such as PHP and Ruby on Rails. You can disable this functionality globally by setting jQuery.ajaxSettings.traditional = true;.By that, you clearly mean, it should support your serverside scripting language by default (like it did before).
This was an extremely logical move. Before, jQuery _couldn't_ correctly handle the nesting of deep objects during serialization. Now it can, and you can disable that ability using a single line of code.
The fact that this personally affects your code does not make it a bug or a bad feature. If the difficulty or disapproval that you have with setting a single option to use the old serialization technique is something that is stopping you from upgrading to a much faster and more reliable and feature rich version of jQuery, then no one is forcing you to reap those benefits.
To me, this is the reasoning: Neither of the two values are
intrinsically more correct than the other. However, one of the
defaults (traditional:false) will break existing code; the other
(traditional:true) will not. Then, avoiding breaking existing code is
the better choice.
© 2012 jQuery Foundation
Sponsored by
and others.
