摘要:之前都是用原生的寫的請求方式其實的也可以支持到的,關(guān)鍵是設(shè)置和。方式告訴不要去處理發(fā)送的數(shù)據(jù)告訴不要去設(shè)置請求頭正在進行,請稍候成功失敗
FormData對象
XMLHttpRequest Level 2添加了一個新的接口FormData.利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件,我們還可以使用XMLHttpRequest的send()方法來異步的提交這個"表單".比起普通的ajax,使用FormData的最大優(yōu)點就是我們可以異步上傳一個二進制文件.
所有主流瀏覽器的較新版本都已經(jīng)支持這個對象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。
之前都是用原生js的XMLHttpRequest寫的請求
xhr.open("POST", uri, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { // Handle response. alert(xhr.responseText); // handle response. } }; fd.append("myFile", file); // Initiate a multipart/form-data upload xhr.send(fd);
其實jquery的ajax也可以支持到的,關(guān)鍵是設(shè)置:processData 和 contentType 。
ajax方式var formData = new FormData(); var name = $("input").val(); formData.append("file",$("#upload")[0].files[0]); formData.append("name",name); $.ajax({ url : Url, type : "POST", data : formData, // 告訴jQuery不要去處理發(fā)送的數(shù)據(jù) processData : false, // 告訴jQuery不要去設(shè)置Content-Type請求頭 contentType : false, beforeSend:function(){ console.log("正在進行,請稍候"); }, success : function(responseStr) { if(responseStr.status===0){ console.log("成功"+responseStr); }else{ console.log("失敗"); } }, error : function(responseStr) { console.log("error"); } });
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79823.html
摘要:比起普通的,使用的最大優(yōu)點就是我們可以異步上傳一個二進制文件。方法二一次性上傳多個文件如果后臺接口要求單個文件,就循環(huán)獲取文件信息提交,使用同步上傳。 歡迎交換友鏈 Lakers Blog--進擊的程序媛Github:https://github.com/younglaker微博: 江小湖Laker showImg(https://segmentfault.com/img/bVtcT...
摘要:是發(fā)送的必須是類型注意把設(shè)為,讓不要對做處理,如果不設(shè)置為,會把轉(zhuǎn)換為字符串。查看文件上傳的請求頭里,參數(shù)為請求參數(shù)之間的界限標(biāo)識。也就是說防止覆蓋掉的。 1、data是FormData 發(fā)送的data必須是FormData類型 2、注意processData 把processData設(shè)為false,讓jquery不要對formData做處理,如果processData不設(shè)置為fals...
摘要:需求當(dāng)上傳的文件相對較大時,用戶可能需要等待較長的時間,這個時候前端如果沒有任何提示的話,體驗不是很好,如果有上傳進度提示,就會好很多。 需求 當(dāng)上傳的文件相對較大時,用戶可能需要等待較長的時間,這個時候前端如果沒有任何提示的話,體驗不是很好,如果有上傳進度提示,就會好很多。而要在上傳過程實時顯示上傳進度,則需要已上傳的大小和文件總大小。 前提 請求是異步的。因為要實時獲取到上傳的進度...
摘要:在編寫程序的過程中,經(jīng)常會遇到一個經(jīng)典的文件上傳場景上傳頭像圖片。基于對最好的用戶體驗的追求,寫一下之前在項目中實現(xiàn)在項目中的上傳頭像。 在編寫web程序的過程中,經(jīng)常會遇到一個經(jīng)典的文件上傳場景:上傳頭像(圖片)。基于對最好的用戶體驗的追求,寫一下之前在項目中實現(xiàn)在Laravel項目中的Ajax上傳頭像。 1.配置路由 在Laravel的routes.php中設(shè)置路由: Rou...
閱讀 1597·2021-11-22 15:33
閱讀 1743·2021-11-15 18:01
閱讀 681·2021-10-09 09:43
閱讀 2621·2021-09-22 16:03
閱讀 767·2021-09-03 10:28
閱讀 3569·2021-08-11 10:22
閱讀 2731·2019-08-30 15:54
閱讀 1770·2019-08-30 14:21