ホームページ > 記事 > ウェブフロントエンド > AjaxSubmit でファイルをアップロードすると、IE でファイルのダウンロードを求めるプロンプトが表示される問題を解決する
この記事では、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 ""; }
$('#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 のみを返すことができます。
上記は、IE で AjaxSubmit がファイルをアップロードし、ファイルのダウンロードを求める問題を解決するためにエディターが紹介したものです。皆さんのお役に立てれば幸いです。 !
関連する推奨事項:
Ajax はどのようにして Web サイトのハイジャックの検出を実現しますか?以上がAjaxSubmit でファイルをアップロードすると、IE でファイルのダウンロードを求めるプロンプトが表示される問題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。