BatsingJSLib 2.3、Ajax上传多个文件

 1 //2.3Ajax上传单个或多个文件
 2 //<input type="file" multiple="multiple"/>
 3 //参数:文件的表单JDOM,要上传的地址URL,含参数的回调函数(参数传为ajax结果,如function(res){alert(res);})
 4 function ajaxFileUpload(inputFileJDOM, URL, callback) {
 5     var formdata = new FormData();
 6     var fileObj = $(inputFileJDOM)[0].files;
 7     //console.log( fileObj.length );      
 8     for (var i = 0; i < fileObj.length; i++) { //可同时上传多个文件                   
 9         formdata.append("file" + i, fileObj[i]);
10         $.ajax({
11             type: 'POST',
12             url: URL,
13             data: formdata,
14             contentType: false,
15             //必须false才会自动加上正确的Content-Type                               
16                               
17             //必须false才会避开jQuery对 formdata 的默认处理                   
18             //XMLHttpRequest会对 formdata 进行正确的处理 
19             processData: false,
20             success: function(res) {
21                 //console.log(res);
22                 callback && callback(res);    //回调函数
23             }
24         }).then(function() {
25             //alert('done');            
26         },
27         function() {
28             //failCall               
29         });
30     }
31 }

展望:以后加入“上传进度”功能;

鸣谢 http://www.open-open.com/lib/view/open1359361115273.html 提供参考!

原文地址:https://www.cnblogs.com/batsing/p/4445666.html