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