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获取文件数据。