使用FormData對包含檔案型別的form表單進行非同步提交(檔案上傳)並配置回撥
阿新 • • 發佈:2018-12-30
直接使用form表單的submit提交按鈕進行表單提交到action,這個是非非同步的,不但在action返回時需要重新整理頁面或跳轉至另外一個頁面,也不能配置回撥函式對返回資料進行某些處理。
其次,如果使用表單的serialize()方法進行ajax提交,則只能傳遞簡單型別資料,但是對於檔案型別file是不能傳至後臺的,網上查詢資料後發現FormDate物件。可以非同步提交檔案並配置回撥函式。
程式碼為:
function doUpload() {
var formData = new FormData($("#uploadForm"));
$.ajax({
url: 'fileOperationAction!upload.action' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
alert(data);
},
error: function (data) {
alert(data);
}
});
}
參考檔案:http://yunzhu.iteye.com/blog/2177923