第一种方法直接用serialize()方法

function insert(){
        $.ajax({
            type:"POST",
            url:"${pageContext.request.contextPath}/order/insert",
            data : $("#fom").serialize(),
            success  :function (res) {
                console.log(res);
            error:function () {
            }
        });
}

后台springmvc用对象参数接收 可以自动转换为对象,需要注意的就是form表单中的name要和对象中的参数名相同

@RequestMapping(value = "/insert",method = RequestMethod.POST)
        public String insert( Order order){
           int result=this.orderSerivce.insert(order);
           if(result==1){
               System.out.println("添加失败");
               return "101";
           }
           return "100";
        }

第二种是用JSON.stringify()将json对象转化为json对象的字符串传递

function insert(){
        $.ajax({
            type:"POST",
            url:"${pageContext.request.contextPath}/user/insert",
            async:false,
            data :JSON.stringify({
                username : $("input[name='username']").val(),
                password: $("input[name='password']").val(),
                role : {
                    id : "",
                    name: $("select[name='name']").val()
                }
            }),
            contentType: "application/json;charset=UTF-8",
          /*如果不写这个,仔细看后台会出现Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported   */
            dataType:"json",
            success  :function (res) {
                console.log(res);
                if(res==100){
                    $("#msg").html("<font size='60px'> success </font>").show(700).delay(3000).hide(500);
                }else {
                    $("#msg").html("<font size='60px'>  fail </font>").show(700).delay(3000).hide(500);
                }
                window.location.href="http://localhost:8080/user/findall?page=1"
            },
            error:function () {
                $("#msg").html("<font size='60px'>  fail </font>").show(700).delay(3000).hide(500);
                window.location.href="http://localhost:8080/user/findall?page=1"
            }
        });
    }

后台用@RequestBody接收, @RequestBody只接收JSON对象的字符串

@ResponseBody
@RequestMapping(value = "/insert",method = RequestMethod.POST)
public String insert(@RequestBody User user){
   int result=this.userSerivce.insert(user);
   if(result==0){
       return "101";
   }
   return "100";
}

AJax提交表单数据到后台springmvc接收的更多相关文章

  1. jquery ajax提交表单数据的两种方式

    http://www.kwstu.com/ArticleView/kwstu_201331316441313 貌似AJAX越来越火了,作为一个WEB程序开发者要是不会这个感觉就要落伍,甚至有可能在求职 ...

  2. 通过jQuery Ajax提交表单数据时同时上传附件

    1.使用场景:需要使用ajax提交表单,但是提交的表单里含有附件上传 2.代码实现方式: <!-- HTML代码 --> <form method="post" ...

  3. Ajax提交表单数据(包含文件)

    1. 表单数据->JSON->后台 2. 表单序列化[方式一] jquery.serializejson.js <script src="/js/jquery.serial ...

  4. ajax提交表单向后台发送数据

    Ajax提交表单 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  5. Jquery ajax提交表单几种方法

    在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. ...

  6. ASP.NET 程序提交表单数据中带有html标签不能提交或者提交报错问题

    今天在公司做另外的一个项目,又奇葩的遇到一个问题. 在本地自己电脑上怎么测试都是正常的.但是先上服务器就出问题: 用富文本编辑器上传一篇文章,始终报错,又没提示具体什么错误,也没说代码错误,点击提交按 ...

  7. Jquery ajax提交表单几种方法详解

    [导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的 ...

  8. ajax提交表单序列化(serialize())数据

    知识点: $("#form").serialize();将表单数据序列化为标准URL编码文本字符串(key1=value1&key2=value2…). 以下用一个例子来演 ...

  9. ajax提交表单、ajax实现文件上传

    ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用 ...

随机推荐

  1. QString使用正则表达式快速去空格

    //QString去掉空格 QString str; str.remove(QRegExp("\\s"));

  2. Synchronized使用方法

    Synchronized是我们常用来维持线程安全时使用的一个关键字,内部通过monitor(监视器锁,由C++实现)来实现.而monitor本质又是依赖底层操作系统的mutex lock来实现.而操作 ...

  3. [CTF] RSA共模攻击

    from gmpy2 import * import libnum n = 0x00b0bee5e3e9e5a7e8d00b493355c618fc8c7d7d03b82e409951c182f398 ...

  4. 使用Mongo进行分页

    MongoDB’s pipeline aggregation is – like most things in application development these days – confusi ...

  5. SAP FI中配置“特别总帐标志” SGL

    SAP FI中配置“特别总帐标志” SGL   创建时间:2018年10月6日(星期六) 下午3:42 | 分类:未分类 | 字数:396 |  SAP FI中配置“特别总帐标志” SGL 2013年 ...

  6. [mysql]You must reset your password using ALTER USER statement before executing this statement.

    原因分析: MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间.这个特性已经添加到mysql.user数据表,但是它的默认值是”N”,可以使用ALTE ...

  7. Vue-admin工作整理(三):路由

    1.router-link和router-view组件 router-link组件实际上是封装了一个a标签(链接标签),里面有一个重要属性:“to”,它的值是一个路径,其路径对应的渲染组件,要在路由列 ...

  8. vim编辑器-多行加注释与去注释

    在使用vim编辑器时,有时候需要对多行代码进行加注释或去注释,下面将介绍两种方法. 方法一:块选择模式 1. 插入注释 (1)首先按键盘上的ESC进入命令行模式 (2)再按Ctrl+V进入VISUAL ...

  9. .bat批处理启动redis

    背景: 最近,公司的项目开发,需要用到Redis,然而每天都需要到d盘下面的去启动redis很烦, 我是我就想写一个.bat启动文件放在桌面上,这样每天只要在桌面上点以下redis的bat文件就可以启 ...

  10. Qt中隐藏滚动条重新实现鼠标滚轮事件wheelEvent

    delta()已经被弃用了,QT5中用的是angleDelta(),计算的时候取angleDelta().y()值. #重载方法wheelEvent(self,event),即滚轮事件方法 #---- ...