新聞中心
這篇文章將為大家詳細(xì)講解有關(guān)jQuery Ajax如何使用FormData上傳文件和其他數(shù)據(jù)后端web.py,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);成都網(wǎng)站建設(shè)、網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了十余年的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
XMLHttpRequest Level 2 添加了一個(gè)新的接口——FormData。與普通的 Ajax 相比,使用 FormData 的最大優(yōu)點(diǎn)就是我們可以異步上傳二進(jìn)制文件。
jQuery 2.0+的版本支持FormData
方法一:使用
?前端(JQuery):
?后臺(tái)(web.py):
class Add: def POST(self): i = web.input(myfile={}) print(i['myfile'].filename) #文件名 print(i['myfile'].value) #文件內(nèi)容 print(i['myfile'].file.read()) #文件內(nèi)容
注意:
1.
2.$.ajax中processData、contentType和cache需要設(shè)置為false
3.后端通過(guò)web.input獲取文件的字段名,同前端指定的input標(biāo)簽的name屬性
方法二√:不用
有時(shí),我們并不想用
標(biāo)簽,而且通過(guò)ajax傳給后端的并不只有文件,可能還有其他的鍵值對(duì),這時(shí)就可以用這個(gè)方法
?前端(JQuery):
function loadFile(file){ container.fd = new FormData(); container.fd.append('myfile',file); container.fd.append('otherkey',othervalue); $.ajax({ url: 'jobs/add', type: 'POST', datatype: 'json', data: fd, cache:false, traditional: true, contentType: false, processData: false, success: function (data) {}, error: function () {} }); }
?后臺(tái)(web.py):
class Add: def POST(self): i = web.input(myfile={}, otherkey='') print(i['myfile'].filename) #文件名 print(i['myfile'].value) #文件內(nèi)容 print(i['myfile'].file.read()) #文件內(nèi)容
注意:
1.沒(méi)有
2.append()方法的第二個(gè)參數(shù)是文件對(duì)象,在html中已經(jīng)通過(guò)loadFile方法的參數(shù)傳過(guò)來(lái)
3.后端通過(guò)web.input獲取文件的字段名,同前端append()方法的第一個(gè)參數(shù)
4.因?yàn)橥ㄟ^(guò)web.input獲取的值都是字符串,如果除文件以外的鍵值對(duì)傳過(guò)來(lái)是null,會(huì)自動(dòng)轉(zhuǎn)化為字符串'null'。這點(diǎn)處理的時(shí)候需要注意
jquery是什么
jquery是一個(gè)簡(jiǎn)潔而快速的JavaScript庫(kù),它具有獨(dú)特的鏈?zhǔn)秸Z(yǔ)法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對(duì)CSS選擇器進(jìn)行擴(kuò)展、擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件,是繼Prototype之后又一個(gè)優(yōu)秀的JavaScript代碼庫(kù),能夠用于簡(jiǎn)化事件處理、HTML文檔遍歷、Ajax交互和動(dòng)畫(huà),以便快速開(kāi)發(fā)網(wǎng)站。
關(guān)于“jQuery Ajax如何使用FormData上傳文件和其他數(shù)據(jù)后端web.py”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站欄目:jQueryAjax如何使用FormData上傳文件和其他數(shù)據(jù)后端web.py
當(dāng)前網(wǎng)址:http://fisionsoft.com.cn/article/isjooj.html