ホームページ  >  記事  >  ウェブフロントエンド  >  AjaxSubmit でファイルをアップロードすると、IE でファイルのダウンロードを求めるプロンプトが表示される問題を解決する

AjaxSubmit でファイルをアップロードすると、IE でファイルのダウンロードを求めるプロンプトが表示される問題を解決する

韦小宝
韦小宝オリジナル
2018-01-01 19:41:172232ブラウズ

この記事では、IE で AjaxSubmit がファイルをアップロードし、ファイルのダウンロードを求める問題を解決する方法を主に紹介します。Ajax に興味がある友人は、IE で AjaxSubmit がファイルをアップロードし、ファイルのダウンロードを促す問題を解決する記事を参照してください。

springmvc バックエンド:

@RequestMapping(value="scoreFileUpload",produces = "text/html; charset=utf-8") 
  @ResponseBody 
  public String upload(HttpSession session,@RequestParam("file1") MultipartFile file,@RequestParam("paperId") String paperId,HttpServletRequest request) { 
  //获取登录人员的id 
  Integer userId = (Integer) session.getAttribute(BaseConstant.SESSION_UERID_KEY); 
  JSONObject json = new JSONObject(); 
  if (request instanceof MultipartHttpServletRequest) { 
    //获取上传文件的文件名 
      String fileName = file.getOriginalFilename(); 
      String subfix = FileUtils.getFileExtend(fileName); 
    } 
return ""; 
  }


js: End

$('#fileForm').submit(function() { 
    var _businessDetailId = $("#businessDetailId").val(); 
    var _paperId = $("#paperId").val(); 
    var url = "scoreFileUpload?paperId="+_paperId+"&businessDetailId="+_businessDetailId; 
    var optionss = {  
         dataType:"text/html",  
         type:'post',  
         url: url,  
      //  beforeSubmit:showRequest,  
         complete:showResponse, 
         clearForm:false, 
        timeout:  3000000  
    }; 
    //提交表单 
    $(this).ajaxSubmit(optionss); 
    // !!! Important !!! 
    // 为了防止普通浏览器进行表单提交和产生页面导航(防止页面刷新?)返回false 
    return false; 
  });<pre name="code" class="javascript">function showResponse(data) { 
  data = JSON.parse(data.responseText); 
  if(data.type != null) { 
  } 
}


返された型が json の場合、この問題は IE でのみ発生しますが、Chrome では正常です。ファイアフォックス。この問題を解決するには、text/html のみを返すことができます。

バックエンドによって返される型は json ではなく text/html であるため、返された型を json 型に変換します。


上記は、IE で AjaxSubmit がファイルをアップロードし、ファイルのダウンロードを求める問題を解決するためにエディターが紹介したものです。皆さんのお役に立てれば幸いです。 !

関連する推奨事項:

Ajax はどのようにして Web サイトのハイジャックの検出を実現しますか?

以上がAjaxSubmit でファイルをアップロードすると、IE でファイルのダウンロードを求めるプロンプトが表示される問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。