使用 jQuery.ajax 上傳帶文件的表單遇到的問題
今天幫人看代碼的時(shí)候,遇到一點(diǎn)小問題。使用 jQuery 上傳帶文件的表單時(shí),會(huì)有些問題。
首先,因?yàn)槭褂玫氖?FormData,所以必須在傳入 $.ajax 的參數(shù)中配置 processData: false。
否則將會(huì)拋出 Illegal invocation 的異常,因?yàn)?jQuery 默認(rèn)是會(huì)對(duì)傳入的 data 字段的數(shù)據(jù)進(jìn)行處理的。
官方文檔是這么解釋的:
其次,注意請(qǐng)求的 Content-Type 首部,默認(rèn)是 application/x-www-form-urlencoded; charset=UTF-8,也就是我們通常見的 “a=A&b=B” 這種格式。但使用 FormData 時(shí),就不行了。
對(duì)參數(shù)添加 contentType 字段,將其值設(shè)置為 false 即可。如果 jQuery 版本小于 1.6,則手動(dòng)設(shè)置為 multipart/form-data。具體說明請(qǐng)見文檔說明:
我以前通常都是使用原生的 XMLHttpRequest,所以倒也沒有遇到過這種問題。既然遇到了,就得解決。因此記錄下來,以備日后查找。
以上所述是小編給大家介紹的使用 jQuery.ajax 上傳帶文件的表單遇到的問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
jQuery使用before()和after()在元素前后添加內(nèi)容的方法
這篇文章主要介紹了jQuery使用before()和after()在元素前后添加內(nèi)容的方法,實(shí)例分析了jQuery中before()和after()方法添加內(nèi)容的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03jQuery使用zTree插件實(shí)現(xiàn)樹形菜單和異步加載
這篇文章主要介紹了jQuery使用zTree插件實(shí)現(xiàn)樹形菜單和異步加載的相關(guān)方法,感興趣的小伙伴們可以參考一下2016-02-02在easyUI開發(fā)中,出現(xiàn)jquery.easyui.min.js函數(shù)庫(kù)問題的解決辦法
easyUI是jquery的一個(gè)插件,是民間的插件,easyUI使用起來很方便,里面有網(wǎng)頁(yè)制作的最重要的三大方塊:javascript代碼、html代碼和Css樣式,但是很容易出現(xiàn)jquery.easyui.min.js函數(shù)庫(kù)問題,小編教大家如何解決問題,需要的朋友可以參考下2015-09-09