jquery使用FormData提交数据
在jquery中,使用ajax提交表单数据。
FormData可以很方便地获取到表单中的所有数据。
注意: ajax中的data参数为FormData类型时,contentType就不要设置成application/json了。
如果contentType设置成application/json,需要将FormData转换为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 ,@RequestParam ("userName") String userName){
System.out.println(user.getUserName() +","+user.getAge()+","+user.getBirthday());
System.out.println("userName"+userName);
return "test";
}
参考资料 :
https://blog.csdn.net/csdn2193714269/article/details/76269656
https://www.cnblogs.com/zhuxiaojie/p/4783939.html
jquery使用FormData提交数据的更多相关文章
- post请求中的参数形式和form-data提交数据时取不到的问题
@Controller页面form表单请求时不会丢数据返回json数据时需要加 注解@ResponseBody请求格式如下 @ResponseBody public Object login(Sign ...
- JQuery按回车提交数据
引入JQuery文件 <script src="JS/jquery-1.9.1.js" type="text/javascript"></sc ...
- element ui axios使用formdata提交数据
axios({ //formdata提交 headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, transformRequ ...
- iOS网络请求之multipart/form-data提交数据
multipart/form-data表单数据 在http网络请求中,post没有请求长度的限制,因为post把数据放在了body中,而不是像Get一样放在了浏览器的地址栏中(可以这么理解), 所以相 ...
- axios formData提交数据 && axios设置charset无效???
但是这样会出现一个问题,什么问题呢? 我设置了请求头编码utf-8,但是没生效 content-type里面没有出现utf-8???????查了很多资料,说这是axios固有的bug,我....... ...
- POST提交数据之---Content-Type的理解;
POST提交数据之---Content-Type的理解: Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编 ...
- POST提交数据之---Content-Type的理解
Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据. 在网络请求 ...
- vue+axios通过formdata提交参数和上传文件
demo.vue 文件 <template> <div class="demo"> <input v-model="importForm.m ...
- JQuery中使用FormData异步提交数据和提交文件
web中数据提交事件是常常发生的,但是大多数情况下我们不希望使用html中的form表单提交,因为form表单提交会中断当前浏览器的操作并且会调到另一个地址(即使这个地址是当前页面),并且会重复加载一 ...
随机推荐
- 2.3在LeetCode中使用我们自定义的类
在上一节中我们使用的是java提供了的类,这一小节中我们就来学习一下如何在LeetCode中使用我们自定义的类. 其实很简单,我们只需把我们编写的自定义类,拷贝到LeetCode提供的类中,形成类中类 ...
- FLEX中一组基于button的组件
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- 转载:HTuple数据和VC数据的相互赋值
转载来自:http://blog.csdn.net/taily_duan/article/details/51026260 HTuple和VC数据的相互赋值 // HTuple→VC 数据类型转换 H ...
- Mysql 隐式转换
表定义: CREATE TABLE `ids` ( id ) not null auto_increment, PRIMARY KEY (id) ); 表中存在一些IDs: 111, 112, 113 ...
- Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
转自:https://www.zhihu.com/question/20948649?sort=created 我最近也遇到这个问题了,用传统的快捷方式加参数并没有用,不知道是不是和chrome版本有 ...
- WPF 自定义鼠标光标
在程序中使用自定义鼠标光标的三种方式: RadioButton senderButton = sender as RadioButton; 方式一: str ...
- +load +initialize
+load方法 在app启动的时候各个类的+load方法都会被调用,+load方法不是通过消息机制调用的,它是直接调用的,因此无论是在子类或者category中复写此方法,复写的+load方法都会被调 ...
- spark 集成elasticsearch
pyspark读写elasticsearch依赖elasticsearch-hadoop包,需要首先在这里下载,版本号可以通过自行修改url解决. """ write d ...
- js 迭代器 解说
这里要说的是迭代器,是一种思路而已,代码相对来不是最关键的,个人认为,最关键的部分是实现的思路 要求: 在一个网页中,将所有的 p 元素的内容进行替换,但是在特定的位置的 p 元素是要有差异的进行替换 ...
- win10 任务栏锁定,win键没反应
现象:之前用win10,换成win10专业版后,安装360优化系统,过了几天后突然发现任务栏好像被锁定一般,按windows键没有任何反应,任务栏打开的文件,图片等等右键也没有反应,讲道理应该有关闭选 ...