function update() {
var form = new FormData(document.getElementById("form1"));//把表单的对象作为一个参数
$.ajax({
type:"post",
url:"/updateUser",
data:form,
dataType:"text",
processData:false,
contentType:false,
success:function (date) {
if(date=="success"){
alert("更新成功");
hiddenSaveButton();
}else if(date=="failure"){
alert("更新失败");
}
},
error:function () {
alert("请求异常");
}
})
}
// function update() {//这种对于有图片的不行
// $.ajax({
// type:"post",
// url:"/updateUser",
// data:$("#form1").serialize(),
// dataType:"text",
// success:function (date) {
// if(date=="success"){
// alert("更新成功");
// hiddenSaveButton();
// }else if(date=="failure"){
// alert("更新失败");
// }
// },
// error:function () {
// alert("请求异常");
// }
// })
// }
结语:如果form表单中有文件的,使用$("#form1").serialize()作为参数提交会有问题。所有要通过new 一个FormData()来提交。至于后台接收文件数据,就跟直接通过form提交的一样。