jQuery Ajax的Spring后台接收数组

来源:互联网 发布:h5页面制作软件 知乎 编辑:程序博客网 时间:2024/06/07 18:35

js代码

function bu() {var ids = new Array();ids.push("aa");ids.push("bb");ids.push("cc");ids.push("dd");$.ajax({    type: 'POST',    url:'XXXXXXX.jhtml',    traditional: true,    data:{"xclx" : ["123","234"]},    error: function(request) {        alert('Connection error');    },    success: function(data) {    alert(123);    }});}

jQuery Ajax的traditional参数的作用


(防止深度序列化) 默认的话,traditional为false,即jquery会深度序列化参数对象,以适应如PHP和Ruby on Rails框架,但servelt api无法处理,我们可以通过设置traditional 为true阻止深度序列化,然后序列化结果如下:p: ["123", "456", "789"]    =>    p=123&p=456&p=456


SpringJava接收代码

/** * 项目信息登录完成处理 * value="xclx" 绑定request的单个参数 * @ModelAttribute()ProjectInfoBean String[] xclx 只能是数组 * 绑定到一个bean上 * @return */@RequestMapping(value = "/PRS0301D09.jhtml", method = RequestMethod.POST)public String rrrr(@RequestParam(value="xclx")String[] xclx,@ModelAttribute()ProjectInfoBean projectInfo,                 HttpServletRequest request, HttpServletResponse response, ModelMap model) {return "";}

Bean结构

bean结构public class ProjectInfoBean {private String[] xclx;public String[] getXclx() {return xclx;}public void setXclx(String[] xclx) {this.xclx = xclx;}}


0 0
原创粉丝点击