歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

ajaxSubmit上傳文件返回結果是下載action文件

在ajaxSubmit提交表單的配置裡面,增加一個參數,服務器端判斷是否是ajaxSubmit提交過來的表單,是的話就返回“text/html”類型的內容,不是就可以返回“application/json”的。

public void write(String msg,HttpServletResponse response) throws Exception {
  PrintWriter write = null;
        //response.setContentType("application/text;charset=UTF-8");
  response.setContentType("text/html;charset=UTF-8");
  response.setHeader("Pragma", "No-cache");
  response.setHeader("Cache-Control", "no-cache");
  response.setDateHeader("Expires", 0);
  try {
   write = response.getWriter();
   write.write(msg);
   write.flush();
  } catch (IOException e) {
   throw new Exception("ajax write error" + e.getMessage());
  } finally {
   response = null;
   if (write != null)
    write.close();
      write = null;
  }
 }

把文中注釋的代碼換成response.setContentType("text/html;charset=UTF-8")代碼即可。

從網上找到的說法是:ajaxSubmit會創建隱藏iframe提交的表單,如果服務器返回的是“application/json”類型的數據,IE和Chrome默認是下載文件的,因為內容是返回給了iframe,而不是ajaxSubmit的success方法。在iframe加載了返回結果後,ajaxSubmit的success方法是去讀取iframe的內容來轉換成json對象使用。 

Copyright © Linux教程網 All Rights Reserved