HTML5 FormData AJAX非同步上傳文件
如果你把表單的編碼類型設置為multipart/form-data ,則通過FormData傳輸的數據格式和表單通過submit() 方法傳輸的數據格式相同。
完整用法筆記:FormData 對象的使用
<div class="form-group"><label class="control-label">附件</label><form enctype="multipart/form-data" method="post" name="fileinfo"><input type="file" name="upfile" /><input type="submit" value="Stash the file!" /></form></div>
function uploadAjax() {var form = document.forms.namedItem("fileinfo")form.addEventListener(submit,function (ev) {Data = new FormData(form);var req = new XMLHttpRequest();req.open("POST",/attachment,true);req.onload = function (e) {if(req.status == 200){alert("上傳成功!"+req.responseText) }else{alert("上傳失敗!") } };req.send(Data); ev.preventDefault(); },false)}
推薦閱讀:
※ajax跨域,這應該是最全的解決方案了
※AJAX的出現與跨域處理
※如今的網站是否可以設計成只有一個html(內容框架),全站無跳轉?
※jquery ajax怎麼通過header傳遞參數? 不想通過url傳參!
※AJAX 跨域解決方案 - CORS
