102
jQuery POST’s arrays with the []
suffix because PHP and some web frameworks understand that convention, and re-build the array on the server-side for you automatically. Django doesn’t work that way, but you should be able to access the data via:
ukeys = request.POST.getlist('ukeys[]')
1
I encountered this same issue — Jakub is right, the []
is useful for other web frameworks, but the behavior of jQuery can be changed (I didn’t like the varname[]
format).
The $.param
function is specifically what does this and it also accepts a parameter to override this behavior.
Change Globally:
// put this early in your JS, preferably the first one imported after jQuery
// or before the document.ready function if using inline js
jQuery.ajaxSettings.traditional = true;
Change on a per-call basis:
$.param(data, true); // true sets traditional mode
// for example:
$.post('/some/url/', $.param(data, true)).done(callback)
Or of course you can use the []
on the server as Jakub mentions.
- [Django]-Django Local Settings
- [Django]-Get distinct values of Queryset by field
- [Django]-Whats the difference between a OneToOne, ManyToMany, and a ForeignKey Field in Django?
Source:stackexchange.com