jqueryFormData上傳文件
- 2019 年 12 月 18 日
- 筆記
文件表單html程式碼如下:
<form id="form" action="" method="POST" enctype="multipart/form-data" onsubmit="return formSubmit();">
<input type="file" id="file" name="file[]" multiple="multiple">
<input type="submit" value="提交">
</form>
//表單提交
function formSubmit(){
var formElement = document.querySelector("form");
var formData = new FormData(formElement);
//如果需要追加其他欄位
formData.append("fields","value");
//使用jq ajax提交表單
$.ajax({
url:url,
type:"POST",
data:formData,
cache: false, // 不快取
processData: false, // jQuery不要去處理髮送的數據
contentType: false, // jQuery不要去設置Content-Type請求頭
success:function(data){
console.log(data);
}
});
}
//文件提交
$("input[name='file[]']").change(function(){
// var formElement = document.getElementByIdx_x("file").files;
// 或者
var formElement = $(this)[0].files;
var formData = new FormData();
for(var i = 0; i < formElement.length ;i++){
formData.append("image[]",formElement[i]);
}
$.ajax({
url:url,
type:"POST",
data:formData,
cache: false, // 不快取
processData: false, // jQuery不要去處理髮送的數據
contentType: false, // jQuery不要去設置Content-Type請求頭
success:function(data){
console.log(data);
}
});
});
服務端接收數據:
服務端如果php 則可以使用$_FILES獲取文件數據。