如果前端传递的参数是数组,jquery传递的时候会自动拆分为 参数名[]的形式,后端接收就使用get_arguments(参数名[])的形式进行接收,这个没有问题。
get_argument和get_arguments的区别是:前者是返回单个值,如果有多个值(类似数组)最后的值会覆盖前面的,也就是只能取到一个值。后者取参数值是列表形式的参数。
如:前端传递test_id:[1,3],jquery自定拆分为如下进行传输
test_id[]:1
test_id[]:2
这个问题和jquery的traditional参数有关,默认情况下traditional为false,即jquery会调用jQuery.param深度序列化参数对象。如果不想在后台取参数的时候加[],则需要在前端将traditional设置为true,这样就可以直接根据参数名来获取了
网友评论