图片上传并回显Ajax异步篇
图片如何无刷新的上传到服务器呢?继前两篇文章后,我们来实战一下如何无刷新的异步上传图片,我们还是先看一下效果
在实战前呢,我们需要做些准备工作。比如说,了解一下FormData对象
“FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。”;
这是官方的讲解,我来说一下我的理解,我们new 一个FormData( $(form) )对象时,它会帮我们把form表单里的数据封装成键值对的形式,以前我们都时用input的submit进行提交数据,当我们拿到这个form对象的时候,我们就可以用ajax模拟input的submit提交,既然知道了这些,我们就开始一步步的编程吧。
我们先完善一下界面,看一下下面的代码
这是body里的内容,不要忘了form,只是没有了action,enctype属性也要设置好,我的上一篇文章有对enctype的讲解 图片上传并回显后端篇
<body>
<form id="formTag1" enctype="multipart/form-data">
<div class="uploadImgBtn" id="uploadImgBtn">
<input class="uploadImg" type="file" name="file" id="file1">
</div>
</form>
</body>
这是css里的内容
<style>
.uploadImgBtn {
width: 100px;
height: 100px;
cursor: pointer;
position: relative;
background: url("img/plus.png") no-repeat;