首页 > 技术文章 > ajax提交参数(2)

zyanrong 2019-10-19 17:40 原文

ajax传递数组时请注意:

1、将数组拼接成字符串:var arr={params:['param','param2']};,使用字符串传递。

2、数组或jQuery对象会按照name/value对进行序列化,普通对象按照key/value对进行序列化;

ajax提交数组时,会自动在所设定的参数后面增加中括号:“[]”,导致后端spring MVC中的@RequestParam获取不到参数。

ajax请求时增加:traditional: true 就可以正常提交了,

原因如下:

jQuery会调用jQuery.param序列化参数,jQuery.param( obj, traditional ),默认的话,traditional为false,即jquery会深度序列化参数对象

推荐阅读