【前台 ajax】web項目前台傳遞數組給后台 兩種方式


項目使用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                 }
View Code

后台代碼:【使用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     }
View Code

 

 

 

 

 

方式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                 }
View Code

后台代碼:【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     }
View Code

只不過 這樣接收到的數組是字符串形式的  需要自己在后台進行二次處理 才能拿到 數組內的數據

 

 

 

 

 

這兩種方式都可以 實現!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM