[問題] 等待response才繼續執行
網路上應該有類似的文章
可是看了老半天 試了幾天還是不得其解... 因此向這邊求助
首次發文, 若有不妥的地方再行告知. 會立馬修正 謝謝
問題蠻單純的
前端post一個form讓controller執行後產生一份excel並進行下載
其中前端post資料出來後就要先鎖住畫面 等到excel準備好後才解鎖 並下載
自己這邊試過ajax 可是ajax無法處理串流回來的資料 自然不能下載
查了許多網站似乎都是說ajax無法做到download file
因此直接用js的submit做 但是這個方法又無從得知資料回來的時間
提供部分代碼
view.js (submit版)
// lock ui
$("#form1").attr("action","<c:url value="/export"/>");
$("#form1").submit();
// unlock ui
view.js (ajax版)
//lock ui
$("#form1").ajaxSubmit({
url:'export',
dataType: 'bytesArray',
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
success: function(){
//unlock ui
},
});
MyController.java
@ResponseBody
@RequestMapping("/export")
public void export(@ModelAttribute("model")
MyFormBean form
,ModelMap model
,HttpServletResponse res) throws Exception {
// do something
res.setContentType("application/octet-stream");
res.addHeader("Content-disposition"
, "attachment;filename="
+ URLEncoder.encode("MyExcel.xls", "UTF-8"));
OutputStream fOut = res.getOutputStream();
workbook.write(fOut);
fOut.flush();
fOut.close();
}
因為本身算是半路出家.. 許多地方都不是很了解
用字有錯誤的地方再請大大們提醒一下 立馬修正 謝謝您
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.59.250.101
※ 文章網址: https://www.ptt.cc/bbs/java/M.1470211133.A.55F.html
→
08/03 17:18, , 1F
08/03 17:18, 1F
→
08/03 17:19, , 2F
08/03 17:19, 2F
→
08/03 17:21, , 3F
08/03 17:21, 3F
→
08/03 17:21, , 4F
08/03 17:21, 4F
→
08/04 14:04, , 5F
08/04 14:04, 5F
java 近期熱門文章
PTT數位生活區 即時熱門文章