【发布时间】:2011-12-29 04:33:02
【问题描述】:
我有一个控制器 (Spring-MVC),它在获取请求时生成 PDF 报告。控制器设置标题,如“application/OCTET-STREAM”、“Content-Disposition”、“attachment; filename=\”” + filename + “\””,以便用户获得强制保存/打开对话框。控制器获取生成的 pdf 并将 pdf 字节直接写入响应的输出流。返回的 ModelAndView 为 null。
问题是我需要/想要在单击后禁用生成报告请求的按钮,然后在报告完成后重新启用它以防止双击。
我认为我可以使用prototype.org 的Ajax.Request 来执行此操作...这段代码确实可以正常使用按钮,但后来我被卡住了,因为客户端从未获得pdf。我猜我需要对响应做些什么,但我不知道是什么。任何想法/帮助表示赞赏。
function displayPdf(button_b, pdf_url) {
button_b.disabled = true;
new Ajax.Request(pdf_url, {
asynchronous:true,
evalScripts:true,
method:'get',
onComplete: function(response) {
button_b.disabled = false;
},
onFailure: function() {
redAlert('crap');
}
});
}
【问题讨论】:
标签: javascript ajax web-applications prototypejs