用FormData处理form表单中同时有文件和普通文本的提交的处理方式

用form来提交表单时,如果form里面同时有普通文本和文件,如果form添加enctype="multipart/form-data"属性,那么普通文本不能被序列化,因为文件上传和普通文本的编码方式不一致。可以不用写enctype="multipart/form-data"属性上传文件,即用formData来存放普通文本和文件数据传入后台。

js代码:

var formData = new FormData();
formData.append('file', $('#file')[0].files[0]);
formData.append('name', $('#name').val());

$.ajax({
    url: url,
    type: 'POST',
    cache: false,
    data: formData,
    processData: false,
    contentType: false,
    success: function () {
        alert("文件上传成功!")
    },
    error: function () {
        
    }
});
-----end-----


版权声明:本文为happydecai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。