• SpringMVC Ajax两种传参方式


    1、采用@RequestParam或Request对象获取参数的方法

    注:contentType必须指定为:application/x-www-form-urlencoded

        @ResponseBody
        @RequestMapping(value = "/insert", method = RequestMethod.POST)
        public HttpResult insert(HttpServletRequest request) {
    //        @RequestParam("LoginName") String LoginName
            HttpResult result = new HttpResult();
            Users users = new Users();
            users.setUserId(4);
            users.setRoleId(Integer.parseInt(request.getParameter("RoleId")));
            users.setLoginName(request.getParameter("LoginName"));
            users.setLoginPassword("123456");
            users.setUserName(request.getParameter("UserName"));
            users.setMobilePhone(request.getParameter("MobilePhone"));
            users.setEmail(request.getParameter("Email"));
            users.setIsActive("0");
            users.setOrgId(Integer.parseInt(request.getParameter("OrgId")));
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
            users.setCreateTime(df.parse(df.format(new Date()),new ParsePosition(0)));
    
            int i = this.userService.insertSelective(users);
            if(i>0){
                result.setState(ResultType.success.toString());
                result.setMessage("数据插入成功!");
            }else{
                result.setState(ResultType.error.toString());
                result.setMessage("数据插入失败!");
            }
            return result;
        }

    ajax代码

                    $.ajax({
                        url: '../user/insert',
                        type: 'POST',
    //                     data: JSON.stringify({
    //                              "loginName": $('#inputLoginName').val(),
    //                              "userName": $('#inputUserName').val(),
    //                              "mobilePhone": $('#inputMobilePhone').val(),
    //                              "email": $('#inputEmail').val(),
    //                              "roleId": $('#selectRole').val(),
    //                              "orgId": $('#selectOrg').val()
    //                      }),  
                         data: {
                             LoginName: $('#inputLoginName').val(),
                             UserName: $('#inputUserName').val(),
                             MobilePhone: $('#inputMobilePhone').val(),
                             Email: $('#inputEmail').val(),
                             RoleId: $('#selectRole').val(),
                             OrgId: $('#selectOrg').val()
                         },
                         contentType: 'application/x-www-form-urlencoded',
    //                     contentType: 'application/json',
                        dataType: "json",
                        success: function (result) {
                            alert(result.message);
                            $("#myModal").modal("hide");
                            oTable.fnDraw();
                        },
                        error: function (err) {
                            alert("error");
                        }
                    });

    2、@RequestBody 接收对象

    注:contentType为application/json

        @ResponseBody
        @RequestMapping(value = "/insert", method = RequestMethod.POST)
        public HttpResult insert(@RequestBody Users users) {
            HttpResult result = new HttpResult();
    
            int i = this.userService.insertSelective(users);
            if(i>0){
                result.setState(ResultType.success.toString());
                result.setMessage("数据插入成功!");
            }else{
                result.setState(ResultType.error.toString());
                result.setMessage("数据插入失败!");
            }
            return result;
        }

    ajax请求

                    $.ajax({
                        url: '../user/insert',
                        type: 'POST',
                         data: JSON.stringify({
                                  "loginName": $('#inputLoginName').val(),
                                  "userName": $('#inputUserName').val(),
                                  "mobilePhone": $('#inputMobilePhone').val(),
                                  "email": $('#inputEmail').val(),
                                  "roleId": $('#selectRole').val(),
                                  "orgId": $('#selectOrg').val()
                          }),  
                        contentType: 'application/json',
                        dataType: "json",
                        success: function (result) {
                            alert(result.message);
                            $("#myModal").modal("hide");
                            oTable.fnDraw();
                        },
                        error: function (err) {
                            alert("error");
                        }
                    });

    参考博客: SpringMVC Ajax 获取参数的方法

    参考博客:Spring MVC无法获取ajax POST的参数和值

    参考博客:@RequestBody和@ResponseBody的简单使用接收JSON(接收json数据)

    详解,参考博客:@RequestBody, @ResponseBody 注解详解(转)

    注:JavaScript对象变量对应pojo对象私有变量

  • 相关阅读:
    Bzoj 2820: YY的GCD(莫比乌斯反演+除法分块)
    Cogs 2221. [SDOI2016 Round1] 数字配对(二分图)
    Cogs 750. 栅格网络(对偶图)
    最小环问题
    浅谈卡特兰数
    洛谷 P1744 采购特价商品
    HDU 1212 Big Number
    HDU 2108 Shape of HDU
    HDU 1029 Ignatius and the Princess IV
    HDU 1021 Fibonacci Again
  • 原文地址:https://www.cnblogs.com/bmbh/p/6829138.html
Copyright © 2020-2023  润新知