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