如今的項目中須要使用到不刷新頁面的方式實現上傳文件,實現方法以下:html
html代碼:ajax
文件:<input id="file" type="file" name="file"/>
app
<button id="upload">上傳文件</button>
異步
js代碼:url
$(function () {
spa
$("#upload").click(function(){
code
var formData = new FormData();
orm
formData.append('file', $('#file')[0].files[0]);
htm
$.ajax({
對象
url: "http://127.0.0.1:8081/uploadFile/addUploadFileUrl",
type: "POST",
data: formData,
/**
*必須false纔會自動加上正確的Content-Type
*/
contentType: false,
/**
* 必須false纔會避開jQuery對 formdata 的默認處理
* XMLHttpRequest會對 formdata 進行正確的處理
*/
processData: false,
success: function (data) {
alert("success");
},
error: function () {
alert("上傳失敗!");
}
});
})
});
js中有對FormData對象的使用:
1.用一些鍵值對來模擬一系列表單控件:即把form中全部表單元素的name和value組裝成一個queryString
2.異步上傳二進制文件