首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ExtJS 4 FileField 上傳 IE8 彈出下載頁面:iframe 響應 Content-Type 導致

     編輯:程式設計綜合問答

現象

ExtJS 4 filefield 上傳文件,Chrome 正常,IE8 彈出「文件下載」對話框,且不觸發 success 回調。

原因

ExtJS 文件上傳通過隱藏 iframe 提交表單。服務器返回 JSON 時若設置 Content-Type: application/json,IE8 不識別該類型,視為文件下載,彈出保存對話框,導致 iframe 無法執行回調腳本。

解決方案

  1. 服務器返回 Content-Type: text/html(推薦):
    
    // Java Spring MVC
    response.setContentType("text/html;charset=UTF-8");
    // 或 Node.js
    res.set('Content-Type', 'text/html; charset=utf-8');
    
  2. 返回內容包裹在 <textarea> 或 <pre> 中:ExtJS 解析器會提取內部文本。
    
      // 服務器返回
      
      
  3. ExtJS 配置:確保 filefield 所在 form 設置 standardSubmit: false、isUpload: true。

驗證步驟

  • F12 網絡面板查看 iframe 響應 Headers/Body。
  • 確認響應體為純文本 JSON 且 Content-Type 為 text/html。

參考鏈接

CSDN 博客完整示例:Ext4 filefield 文件上傳在IE8彈出下載頁面完美解決

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved