最近項(xiàng)目用到了附件附件上傳功能,因?yàn)樯蟼鞲郊氡M量控制在一個(gè)控件上傳附件并回顯在下方的列表中,選擇附件則觸發(fā)上傳。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了松嶺免費(fèi)建站歡迎大家使用!
剛開(kāi)始使用了swfupload.js的flash控件進(jìn)行上傳,但是在IE中如果沒(méi)有相應(yīng)控件就無(wú)法draw出上傳控件,應(yīng)該是瀏覽器段沒(méi)有flash控件造成的。
最后還是改回html的type="file"來(lái)實(shí)現(xiàn)上傳,因?yàn)楦郊蟼鞒晒笮枰卣{(diào)函數(shù)并在下方列表中回顯;所以純粹的使用form表單提交無(wú)法回調(diào)需要的數(shù)據(jù)。而直接使用js取得input內(nèi)容組裝為file對(duì)象使用ajax上傳,但是js里無(wú)法取得完整的文件對(duì)象。
找了一些,發(fā)現(xiàn)jquery-form.js的ajaxsubmit可以上傳并回調(diào),在input的onchange事件時(shí)觸發(fā)方法uploadFile,在方法里取得form表單,定義options,然后form.ajaxsubmit()。然后在options的success方法里取得返回的data再把data值寫(xiě)入下方列表里。
剛開(kāi)始使用谷歌調(diào)試時(shí)沒(méi)有任何問(wèn)題,但是在IE中調(diào)試時(shí),附件能傳到后臺(tái)不過(guò)在返回?cái)?shù)據(jù)的時(shí)候并不執(zhí)行success方法,也不執(zhí)行error方法,只是報(bào)錯(cuò),諸如“阻止文件下載。。。”云云,當(dāng)場(chǎng)愣了,根本無(wú)法解釋?zhuān)伊撕芫靡膊桓悴磺宄?,查了很久,終于找到解決的辦法,那就是把返回的數(shù)據(jù)頭改為"text/html"而不是"text/javascript",這個(gè)問(wèn)題雖然解決了,但很不爽。屎一樣的IE
response.setContentType("text/html");
解決來(lái)源:
http://forum.jquery.com/topic/file-upload-ajaxsubmit-sends-response-to-wrong-window-in-ie
新聞標(biāo)題:上傳附件使用jquery-form.js的ajaxsubmit提交一點(diǎn)記錄
路徑分享:http://aaarwkj.com/article46/iigjhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站策劃、品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)