項目使用maven springMVC
有需求 將前台的數組 在ajax中 送給后台
方式1:
前台代碼:【注意:ajax中的屬性---traditional:true, 】
如果Post是string數組或者int數組,則ajax中traditional: true,
如果Post是對象數組,則ajax中traditional: false,否則對象將為空

1 //首先 是數組數據的封裝 2 $.each(checkedNodes,function(i,node){ 3 nodeArr.push(node.id); 4 }); 5 //ajax中 需要設置 traditional:true, 6 if(roleName !="" ){ 7 $.ajax({url:"roleAdd.htmls", 8 dataType:'json', 9 type:"post", 10 traditional:true, 11 data:{ 12 "roleName" : roleName, 13 "roleCre" : roleCre, 14 "nodeArr" : nodeArr, 15 }, 16 success:function(data){ 17 if(data != null){ 18 parent.page.pageSet(); 19 } 20 parent.layer.close(parent.indexRoleAdd); //獲取到layer的彈出窗 關閉它 indexRoleAdd 21 }}); 22 }
后台代碼:【使用String[] nodeArr數組接收即可】

1 @RequestMapping("/roleAdd") 2 @ResponseBody 3 public Role roleAdd(String roleName,String roleCre,HttpServletRequest request, String[] nodeArr){ 4 5 Role role = new Role(); 6 role.setRoleId(UUID.randomUUID().toString()); 7 role.setRoleName(roleName); 8 role.setRoleCre(roleCre); 9 //創建信息 10 HttpSession session = request.getSession(); 11 User user = (User) session.getAttribute("user"); 12 role.setTransPerson(user.getUserId()); 13 role.setCreateDate(new Timestamp(System.currentTimeMillis())); 14 // roleService.save(role); 15 // roleService.flush(); 16 return role; 17 }
方式2:
前台代碼:

1 $.each(checkedNodes,function(i,node){ 2 nodeArr.push(node.id); 3 }); 4 //數組數據 封裝完成后轉化為JSON字符串 5 var nodes = JSON.stringify(nodeArr); 6 7 if(roleName !="" ){ 8 $.ajax({url:"roleAdd.htmls", 9 dataType:'json', 10 type:"post", 11 data:{ 12 "roleName" : roleName, 13 "roleCre" : roleCre, 14 "nodeArr" : nodes, 15 }, 16 success:function(data){ 17 if(data != null){ 18 parent.page.pageSet(); 19 } 20 parent.layer.close(parent.indexRoleAdd); //獲取到layer的彈出窗 關閉它 indexRoleAdd 21 }}); 22 }
后台代碼:【String nodeArr接收數據即可】

1 /** 2 * 進行添加角色的操作 3 * @return 4 */ 5 @RequestMapping("/roleAdd") 6 @ResponseBody 7 public Role roleAdd(String roleName,String roleCre,HttpServletRequest request, String nodeArr){ 8 9 Role role = new Role(); 10 role.setRoleId(UUID.randomUUID().toString()); 11 role.setRoleName(roleName); 12 role.setRoleCre(roleCre); 13 //創建信息 14 HttpSession session = request.getSession(); 15 User user = (User) session.getAttribute("user"); 16 role.setTransPerson(user.getUserId()); 17 role.setCreateDate(new Timestamp(System.currentTimeMillis())); 18 // roleService.save(role); 19 // roleService.flush(); 20 return role; 21 }
只不過 這樣接收到的數組是字符串形式的 需要自己在后台進行二次處理 才能拿到 數組內的數據
這兩種方式都可以 實現!!!!!