jquery运用FormData结合Ajax异步上传表单,超实用
首先创建一个formData,其中参数,就是你的form表单,jquery要加0,也可以用document.querySelector("form")得到
var formData = new FormData($("form")[0]);
接着就是异步上传了,其中一定要设置两个值为falese,就是下面的contentType和processData,使之可以上传文件,并不要转成字符串形式,这也是为什么要用$.ajax而不用$.post的原因
$.ajax({ url: "/base/test", type: 'POST', data: formData, contentType: false, processData: false, success: function (returndata) { console.log(returndata); }, error: function (returndata) { console.log(returndata); } });
上面的url,自行设置,是你要处理的链接。使用这种方法的好处就是不用通过FileReader读取,再转换数据!不过为了实时显示图片,也可以结合filereader使用