前端用AJAX把数组传给后端控制器数组参数的方法
发布时间:2020-12-16 03:11:43 所属栏目:百科 来源:网络整理
导读:前端用AJAX把数组传给后端控制器数组参数的方法 分两种情况: 1. 数组元素是基本类型数据的数组。 2. 数组元素是普通类对象的数组。 下面分别讲解。 一、数组元素是基本类型数据的数组 这种情况比较简单,下面是示例代码。 控制器代码: @Controller@Request
前端用AJAX把数组传给后端控制器数组参数的方法
分两种情况: 1. 数组元素是基本类型数据的数组。 2. 数组元素是普通类对象的数组。 下面分别讲解。 一、数组元素是基本类型数据的数组 这种情况比较简单,下面是示例代码。 控制器代码: @Controller @RequestMapping(value = "testctrl") @ResponseBody @RequestMapping(value = "testfun",method = RequestMethod.POST) public void testFun(@RequestParam(value="arrint[]") int[] arrint){ // 用 Integer 类型也可以。 return; } } 前端JS代码: <script type="text/javascript"> $(function(){ alert("here is test."); test(); }); function test() { var arr = [1,3,5]; $.ajax({ url: "/test/testctrl/testfun",type: 'POST',async: true,data: {"arrint[]":arr},dataType:'JSON',success:function(data){ // ... } }); } </script> 二、数组元素是普通类对象的数组 这种情况比较复制,要多写点代码,如下。定义一个类: public class TestXfer { private Integer testid; private String teststr; public Integer getTestid() { return testid; } public void setTestid(Integer testid) { this.testid = testid; } public String getTeststr() { return teststr; } public void setTeststr(String teststr) { this.teststr = teststr; } } 控制器代码: @Controller @RequestMapping(value = "testctrl") public class TestController { @ResponseBody @RequestMapping(value = "testfun",method = RequestMethod.POST) public void testFun(String testxfers){ Object val; JSONArray jsnarr = JSONArray.fromObject(testxfers); TestXfer[] arrTestxfer = new TestXfer[jsnarr.size()]; for(int i=0; i<jsnarr.size(); i++){ arrTestxfer[i] = new TestXfer(); JSONObject jsnobj = jsnarr.getJSONObject(i); if(null != (val = jsnobj.get("testid"))) arrTestxfer[i].setTestid((Integer) val); if(null != (val = jsnobj.get("teststr"))) arrTestxfer[i].setTeststr(val.toString()); } return: } } 前端JS代码: <script type="text/javascript"> $(function(){ alert("here is test."); test(); }); function test() { var arr= [ // { testid:1,teststr:'str1' },{ testid:1 },// { testid:2,teststr:'str2' },{ teststr:'str2' },{ testid:3,teststr:'str3' } ]; $.ajax({ url: "/test/testctrl/testfun",data: {testxfers:JSON.stringify(arr)},success:function(data){ // ... } }); } </script> Ok,完毕! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Swift开发教程--如何使UITableViewController背景透明
- objective-c – 是否可以编译更新版本的LLVM并将其与Xcode一
- C++截取字符串子串实现
- Oracle通过DBLink操作数据表,报错“ORA-22992:无法使用从远
- ORA-00845: MEMORY_TARGET not supported on this system
- ruby-on-rails – 当有人在现场时,启动Heroku工作人员dyno
- c# – 使用枚举项来调用方法
- sqlite – INSERT OR REPLACE外键ON DELETE CASCADE工作得太
- JSON.parse()和JSON.stringify()
- 测试效率