Heim >Web-Frontend >js-Tutorial >Lösen Sie das Problem, dass AjaxSubmit beim Hochladen von Dateien dazu auffordert, Dateien unter IE herunterzuladen

Lösen Sie das Problem, dass AjaxSubmit beim Hochladen von Dateien dazu auffordert, Dateien unter IE herunterzuladen

韦小宝
韦小宝Original
2018-01-01 19:41:172291Durchsuche

In diesem Artikel wird hauptsächlich beschrieben, wie das Problem gelöst werden kann, dass AjaxSubmit Dateien unter IE hochlädt und zum Herunterladen von Dateien auffordert. Freunde, die mit Ajax vertraut sind, können sich auf den Artikel zum Lösen des Problems beim Hochladen von Dateien durch AjaxSubmit und zum Auffordern von Dateien unter IE beziehen

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) { 
  } 
}


Wenn der zurückgegebene Typ json ist, tritt dieses Problem nur im IE auf, ist aber in Chrome und Firefox normal. Um das Problem zu lösen, kann nur Text/HTML zurückgegeben werden.
Der vom Backend zurückgegebene Typ kann nicht JSON sein, sondern Text/HTML. Anschließend wird der zurückgegebene Typ in den JSON-Typ konvertiert.

Das Obige stellt Ihnen der Editor vor, um das Problem zu lösen, dass AjaxSubmit Dateien unter IE hochlädt und zum Herunterladen von Dateien auffordert. Ich hoffe, es wird für alle hilfreich sein! !

Verwandte Empfehlungen:

Wie Ajax die Website-Hijacking-Erkennung implementiert

Beispiel für eine detaillierte Erklärung, dass kkpager die Ajax-Paging-Abfragefunktion implementiert

Detaillierte Erläuterung der Ajax-Implementierung eines Beispiels für dynamische Lade-Kombinationsfelder

Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass AjaxSubmit beim Hochladen von Dateien dazu auffordert, Dateien unter IE herunterzuladen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn