我有一个使用@ResponseBody注释的方法返回xls文件,如果是normla post请求,则工作正常。
现在我需要在视图上显示加载效果。所以首先显示加载ajax弹出窗口,第二个我用ajax post调用方法,但我不知道如何处理成功下载或打开文件并关闭弹出窗口的响应。
你能推荐我另一种策略吗?
现在代码是这样的。
//Controller
@RequestMapping(value = "/generateXls", method = RequestMethod.POST)
@ResponseBody
public void generateXls(@ModelAttribute Filter filter, HttpServletRequest request, HttpSession session, HttpServletResponse response)
throws Exception
{
/*Code for generate xls*/
}
//View
//function called on form submit.
function callGenerateXls() {
/* SHOW LOADING POPUP */
$.ajax({
type: 'POST',
url: "report/generateXls",
data: $("#filter").serialize(),
success: function(result) {
/* HOW TO HANDLE RESULT ????? */
/* HIDE LOADING POPUP */
}
});
}