ajax post 提交数据和文件

Posted 靠,疯了吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax post 提交数据和文件相关的知识,希望对你有一定的参考价值。

方式一:常用的方式是通过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) } } })

 

以上是关于ajax post 提交数据和文件的主要内容,如果未能解决你的问题,请参考以下文章

ajax下post提交方式下载文件的处理(转)

ajax常用实例代码总结参考

使用ajaxfileupload插件进行Ajax Post 异步提交多个文件

js通过生成临时表单再删除的方式向后台提交数据(模拟ajax的post提交但还要跳转页面不返回数据)

有关post的三种提交格式

ajax 使用POST方法传的数据服务端怎么接