이번에는 파일을 업로드할 때 사용자에게 알리는 Ajax Submit 구현 방법을 소개하겠습니다. 다음은 실제 사례입니다.
springmvc backend:
@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 및 Firefox에서는 정상입니다. 문제를 해결하려면 text/html만 반환할 수 있습니다.
백엔드에서 반환되는 유형은 json이 될 수 없고, text/html이 아닌, 반환된
type을 json 유형으로 변환합니다.
위 내용은 파일을 업로드할 때 사용자에게 메시지를 표시하도록 Ajax Submit을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!