有时小小的文件上传用 WebUploader 之类嫌费劲,看下原生 Ajax 上传文件

值得注意的一点是要在 input[type=file] Dom上添加 Listenner(change) 事件,否则会点击就直接提交 ajax 请求了

1
2
3
<form enctype="multipart/form-data" method="POST">
<input type="file" id="imgCase" onclick="javascrpit:this.addEventListener('change', upload, false);" multiple="true" />
</form>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
	function upload(){
var formData = new FormData();
for(var i=0;i<$('#imgCase')[0].files.length;i++){
formData.append('file['+i+']',$('#imgCase')[0].files[i]);
}
$.ajax({
type:"post",
url:serverURL+"/attached/upl_atc",
data:formData,
async:true,
contentType:false,
processData:false,
mimeType:'mutipart/form-data',
success:function(data){
console.log(data);
}
});
}


补充:ajax 提交 form 表单会出现表单自动提交并跳转,需要添加onsubmit="return false"
<form onsubmit="return false" method="post" action="#"></form>

 评论


本站使用 Material X 作为主题 , 总访问量为 次 。
隐藏