zoukankan      html  css  js  c++  java
  • 【前台 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

    只不过 这样接收到的数组是字符串形式的  需要自己在后台进行二次处理 才能拿到 数组内的数据

    这两种方式都可以 实现!!!!!

  • 相关阅读:
    39岁了,我依旧要谈梦想
    ASP原码加密工具介绍
    extjs_07_combobox&tree&chart
    JS0基础学习笔记(1)
    AndroidUI组件之ActionBar
    Sourcetree 更新git账号密码
    iOS人脸识别核心代码(备用)
    ios 中的tintColor
    appStore上传苹果应用程序软件发布
    iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/6084461.html
Copyright © 2011-2022 走看看