1. 程式人生 > >ajax非同步上傳圖片程式碼案例

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('上傳失敗!');
}
}
});
});
}