ajax post 提交数据和文件

时间:2021-12-20 23:25:33

方式一:常用的方式是通过form.serialize()获取表单数据,但是,这样有个弊端,文件不能上传

            $.ajax({
url:'/communication/u/',
type:'POST',
data:$('#form').serialize(),
success:function(res){
ret = JSON.parse(res)
for (i in ret.error){
$("#er_"+i).html(ret.error[i][0].message)
}
}
})

方式二:

  使用FormData对象,用来封装数据,能够提交文件

具体请看:https://developer.mozilla.org/zh-CN/docs/Web/API/FormData/Using_FormData_Objects

   var formdata = new FormData(document.getElementById("modify"))
$.ajax({
url:'/communication/u/',
type:'POST',
data:formdata,
async: false, //不使用异步
          cache:false,//不缓存
processData:false,//jquery不去处理发送的数据
contentType:false,//jQuery不去设置content-type请求头
success:function(res){
ret = JSON.parse(res)
for (i in ret.error){
$("#er_"+i).html(ret.error[i][0].message)
}
}
})