ajax非同步上傳圖片程式碼案例
html程式碼如下:
<div class="form-group" style="width:60%;">
<table class="table"><thead>
<th width="60">圖片</th>
</thead>
<tbody id="list">
<tr>
<td>
<a href="javascript:;" onclick="uploadImg(this);">
<img src="" width="50px" height="50px" />
</a>
</td>
</tr>
</tbody>
</table></div>
<form id="upload_form" action="" method="post" enctype="multipart/form-data">
<div style="display:none;">
<input type="file" name="file" id="upload_pic" value="" />
</div>
</form>
js:程式碼如下:
function uploadImg(_this){
$("#upload_pic").click();
//為檔案上傳新增change事件
var fileM=document.querySelector("#upload_pic");
$("#upload_pic").unbind ("change");//清除歷史繫結
$("#upload_pic").on("change",function(){
//獲取檔案物件,files是檔案選取控制元件的屬性,儲存的是檔案選取控制元件選取的檔案物件,型別是一個數組
var formData=new FormData();
//建立formdata物件,formData用來儲存表單的資料,表單資料時以鍵值對形式儲存的。
formData.append('file',fileM.files[0]);
$.ajax({
url:url,
type:"post",
data:formData,
contentType:false, //必須寫
processData: false,//必須寫
dataType:"json",
success:function(rsp){
if(rsp.state == 'SUCCESS'){
alert('上傳成功!');
}else{
alert('上傳失敗!');
}
}
});
});
}