ajax上傳文件兼容IE8,IE提示下載文件解決方案


  1. 使用ajax上傳文件需要兼容IE8就需要使用ajaxSubmit,所屬於 jquery.form.js
  2. 前台請求ajaxSubmit的基本使用形態
     $("#queryForm").ajaxSubmit({
          url: "/***/***",
          type: "post",
          dataType: "json",    
          success: function(data){
              //根據data返回數據邏輯判斷
         }
    });
  3. 如果使用jetty啟動項目,springmvc架構按照正常的返回string,但是需要指定一下response的響應體內容類型
    response.setContentType("text/html;charset=utf-8");

    設置為text,不然IE8會不清楚你返回是什么格式的內容,直接就提示下載文件

  4. 如果使用tomcat啟動項目,上面的設置就沒什么卵用,詳解如下
    @ResponseBody
    @RequestMapping(value="/***")
    public void addAnnex(HttpServletResponse response){
        //業務邏輯操作
        response.setContentType("text/html;charset=utf-8");
        response.getWriter().print("這里面放要返回前台的內容,string或者格式化的json");    
    }

    調用方法后不直接返回任何東西,直接把內容傳到response中,前台ajax照樣正常解析,不給IE8留下任何機會

  5. 根源所在是因為IE8發起請求后台響應的內容類型不一致,也是老版本瀏覽器的弊端所在,但技術激進的情況下也要考慮業務受眾用戶群體,也不能不要IE8,在之后的配置中jetty和tomcat的機制不同,使用jetty的配置在tomcat中沒生效,畢竟tomcat相對與jetty來說也是個老大哥了,今天的總結到此結束,做什么東西,找到問題根源所在才能更進一步,共勉


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM