jQuery Ajax 上傳文件處理方式介紹(推薦)
AJAX 是一種與服務(wù)器交換數(shù)據(jù)的技術(shù),可以在補(bǔ)充在整個(gè)頁面的情況下更新網(wǎng)頁的一部分。
下面的表格列出了所有的 jQuery AJAX 方法:
jQuery Ajax在web應(yīng)用開發(fā)中很常用,它主要包括有ajax,get,post,load,getscript等等這幾種常用無刷新操作方法,接下來通過本文給大家介紹jquery ajax 上傳文件處理方式。
FormData對象
XMLHttpRequest Level 2添加了一個(gè)新的接口FormData.利用FormData對象,我們可以通過JavaScript用一些鍵值對來模擬一系列表單控件,我們還可以使用XMLHttpRequest的send()方法來異步的提交這個(gè)”表單”.比起普通的ajax,使用FormData的最大優(yōu)點(diǎn)就是我們可以異步上傳一個(gè)二進(jìn)制文件.
所有主流瀏覽器的較新版本都已經(jīng)支持這個(gè)對象了,比如Chrome 7+、Firefox 4+、IE 10+、Opera 12+、Safari 5+。之前都是用原生js的XMLHttpRequest寫的請求
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);
其實(shí)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("正在進(jìn)行,請稍候"); }, success : function(responseStr) { if(responseStr.status===0){ console.log("成功"+responseStr); }else{ console.log("失敗"); } }, error : function(responseStr) { console.log("error"); } });
- vue中element-ui使用axios上傳文件
- elementui+vue+axios實(shí)現(xiàn)文件上傳本地服務(wù)器
- Vue+Axios實(shí)現(xiàn)文件上傳自定義進(jìn)度條
- Axios+Spring?Boot實(shí)現(xiàn)文件上傳和下載
- JQuery上傳插件Uploadify使用詳解及錯(cuò)誤處理
- Jquery插件之多圖片異步上傳
- JQuery.uploadify 上傳文件插件的使用詳解 for ASP.NET
- Jquery ajaxsubmit上傳圖片實(shí)現(xiàn)代碼
- jQuery Ajax文件上傳(php)
- Axios和Jquery實(shí)現(xiàn)文件上傳功能
相關(guān)文章
jQuery動態(tài)添加元素?zé)o法觸發(fā)綁定事件的解決方法分析
這篇文章主要介紹了jQuery動態(tài)添加元素?zé)o法觸發(fā)綁定事件的解決方法,結(jié)合實(shí)例形式分析了動態(tài)添加元素?zé)o法綁定事件的原因與相關(guān)解決方法,需要的朋友可以參考下2018-01-01JQuery Tips相關(guān)(1)----關(guān)于$.Ready()
學(xué)習(xí)jQuery的第一件事是:如果你想要一個(gè)事件運(yùn)行在你的頁面上,你必須在$(document).ready()里調(diào)用這個(gè)事件。所有包括在$(document).ready()里面的元素或事件都將會在DOM完成加載之后立即加載,并且在頁面內(nèi)容加載之前。2014-08-08jQuery實(shí)現(xiàn)的簡單折疊菜單(折疊面板)效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)的簡單折疊菜單(折疊面板)效果代碼,涉及jQuery中slideToggle與toggleClass方法的靈活使用技巧,需要的朋友可以參考下2015-09-09jQuery 源碼分析筆記(3) Deferred機(jī)制
從1.5版本開始,jQuery加入了Deferred功能,讓事件處理隊(duì)列更加的完善。并用這個(gè)機(jī)制重寫了Ajax模塊。雖然還沒輪到Ajax,但是接下來的事件處理函數(shù)中牽扯到了這個(gè)機(jī)制,所以提前看這段代碼。2011-06-06關(guān)于jQuery中的each方法(jQuery到底干了什么)
這篇文章主要介紹了關(guān)于jQuery中的each方法,需要的朋友可以參考下2014-03-03jquery+html5時(shí)鐘特效代碼分享(可設(shè)置鬧鐘并且語音提醒)
這篇文章主要為大家詳細(xì)介紹了Jquery+html5可設(shè)置鬧鐘并且會語音提醒的時(shí)鐘特效,功能實(shí)現(xiàn)非常簡單,推薦給大家,有需要的小伙伴可以參考下2015-08-08