jquery使用FormData提交数据

在jquery中,使用ajax提交表单数据。

FormData可以很方便地获取到表单中的所有数据。

注意: ajax中的data参数为FormData类型时,contentType就不要设置成application/json了。

示例如下:

<script type="text/javascript" >

    $(document).ready( function () {

        $("#commit").click(function () {
            var form =new FormData($( "#form-user")[0] );     //通过id获取表单的数据
            console.log("ajax");
            $.ajax({
                type:"POST",                             //请求的类型
                url:"/user/test",                  //请求的路径
                data: form  ,                    //请求的参数
                async: false,
                cache: false,
                contentType: false,
                processData: false,
                success: function (msg) {                 //成功返回触发的方法
                    console.log("ajax请求成功")
                },
                //请求失败触发的方法
                error:function(XMLHttpRequest, textStatus, errorThrown){
                    console.log("ajax请求失败");
                    console.log("请求对象XMLHttpRequest: "+XMLHttpRequest);
                    console.log("错误类型textStatus: "+textStatus);
                    console.log("异常对象errorThrown: "+errorThrown);
                }
            })
        })
        }
    );
</script>

<body>
    <form  id="form-user">
        账号:
       <input type="text" name="userName">  <br>
        年龄:
       <input type="text" name="age">     <br>
        vip :
         是:  <input type="checkbox" name="isVip" value="true">
         否:  <input type="checkbox" name="isVip" value="false">           <br>
         生日:
       <input type="date" name="birthday">            <br>
       <button id="commit" >提交</button>
    </form>
</body>

后台接收数据,如下:

  /**
     * 点击表单,获取formData后通过ajax跳转而来。
     * @param user
     * @return
     */
    @RequestMapping(value = "/user/test",method = RequestMethod.POST )
    public String getUserInfo( User user ){
          System.out.println(user.getUserName() +","+user.getAge()+","+user.getBirthday());
         return "test";
    }

参考资料 :

https://blog.csdn.net/csdn2193714269/article/details/76269656

https://www.cnblogs.com/zhuxiaojie/p/4783939.html

原文地址:https://www.cnblogs.com/expiator/p/10041684.html

时间: 2025-01-13 19:37:13

jquery使用FormData提交数据的相关文章

jQuery 中 ajax 提交数据应用的一个小demo

举一个jquery中ajax的应用小 demo 便于以后的更多项目拓展 ,这里要注意的是保存的文件名问题 ... ajax02.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="form&qu

jquery ajax post提交数据乱码

在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码, 自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件 chrome和ie都没有指定,所以出现乱码问题. 解决方法: 复制代码代码如下: $.ajaxSetup({ contentType: "application/x-www-form-urlencoded; charset=ut

vue+axios通过formdata提交参数和上传文件

demo.vue 文件 <template> <div class="demo"> <input v-model="importForm.month" type="text" name="month"/> <input ref="importFile" type="file" name="importFile" @change

JQuery中使用FormData异步提交数据和提交文件

web中数据提交事件是常常发生的,但是大多数情况下我们不希望使用html中的form表单提交,因为form表单提交会中断当前浏览器的操作并且会调到另一个地址(即使这个地址是当前页面),并且会重复加载一些html浪费带宽,我们希望达到一个无刷新的.异步的提交效果来给用户更好的体验,这时候就要使用ajax,ajax可以不依赖表单自行发起一次http请求并且取回服务器响应的数据,这就是ajax的简便之处.我们这里使用JQuery中封装好的ajax函数,更加简便.下面列举几个使用ajax异步提交数据的方

四种常见的 POST 提交数据方式(application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml)

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式. 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范.规范把 HTTP 请求分为三个部分:状态行.请求头.消息主体.类似于下面这样: <method> <request-URL> <version&

2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(function () { var UserId = $('#UserId').val(); if (UserId == "") { $.ajax({ type: "POST", url: '/Users/Create/', data: $("#SaveUserFo

提交multipart/form-data类型数据

提交multipart/form-data类型数据 @(spring mvc)[文件上传|附加信息] 举例:工行签名证书上传保存 说明:框架使用的是spring mvc 4,接口测试工具使用postman,本文要实现的功能有: 文件上传 :文件上传信息填写在form-data区域,字段名即文件名,文件内容通过postman控件选择,存储在mysql数据库中类型为BLOB,对应的java类属性为byte[] 文件存储 :直接将文件存储到数据库,而非存储文件的URL: 其他信息 :同时上传文件的其他

JQuery以JSON方式提交数据到服务端

JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面的代码演示了如何将客户端表单数据封装成JSON格式,然后通过JQuery的Ajax请求将数据发送到服务端,并最终将数据存储到数据库中.服务端定义为一个.ashx文件,事实上你可以将服务端定义为任何能接收并处理客户端数据的类型,如Web Service,ASP.NET Page,Handler等. 首

jQuery选取所有复选框被选中的值并用Ajax异步提交数据

昨天和朋友做一个后台管理系统项目的时候涉及到复选框批量操作,如果用submit表单提交挺方便的,但是要实现用jQuery结合Ajax异步提交数据就有点麻烦了,因为我之前做过的项目中基本上没用Ajax来批量提交复选框数据,今天用到了就分享一下. 由于我做的项目一些地方比较复杂,这里我只举一个小例子,能理解就好. 首先,我做了一个简单的多个复选框的界面,如图: 这是一个比较简单的多个复选框提交界面.代码如下: 1 <body> 2 <div> 3 <input type=&quo