首页 > 代码库 > 后台接收int[] 类型的值
后台接收int[] 类型的值
1.前台使用ajax传递数组类型的值,后台无法接收
前台 js代码:
1 $(document).ready(function(){ 2 $("#bu").click(function(){ 3 var ids = new Array(2,3,4); 4 $.ajax({ 5 url : "${pageContext.request.contextPath}/order/test", 6 data : { 7 "ids" :ids 8 }, 9 dataType : "json", 10 success : function(data) { 11 alert(额); 12 }, 13 error : function() { 14 alert("预览失败"); 15 } 16 }); 17 }); 18 });
GET请求参数:
后台 java代码:
1 @RequestMapping("/test") 2 public void test(int[] ids,HttpServletRequest request){ 3 String[] id = request.getParameterValues("ids"); 4 }
第一次显示:
ids和id 都没有值;
解决方法:
1.在ajax中加入traditional: true
代码如下:
1 $(document).ready(function(){ 2 $("#bu").click(function(){ 3 var ids = new Array(2,3,4); 4 $.ajax({ 5 url : "${pageContext.request.contextPath}/order/test", 6 traditional: true, 7 data : { 8 "ids" :ids 9 }, 10 dataType : "json", 11 success : function(data) { 12 alert(额); 13 }, 14 error : function() { 15 alert("预览失败"); 16 } 17 }); 18 }); 19 });
GET请求参数为:
后台两种方法都能够接收到参数:
2.把array类型的ids转为字符串:
1 $(document).ready(function(){ 2 $("#bu").click(function(){ 3 var ids = new Array(2,3,4); 4 $.ajax({ 5 url : "${pageContext.request.contextPath}/order/test", 6 data : { 7 "ids" :ids+"" 8 }, 9 dataType : "json", 10 success : function(data) { 11 alert(额); 12 }, 13 error : function() { 14 alert("预览失败"); 15 } 16 }); 17 }); 18 });
GET请求参数:
后台接收到的参数:
能够接收到,但是能转为int数组,String数组变成一个。
解释相关:飞机https://my.oschina.net/i33/blog/119506
后台接收int[] 类型的值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。