表单包含发送 POST 请求的显示 PDF 按钮。Content-disposition: inline
此发布请求显示使用或Content-disposition: attachment
http 标头的 pdf 文件。
在 Chrome 中,双击此按钮会导致控制器出现异常,可能是因为请求同时执行了两次。
如何防止这种情况,以便双击提交按钮只执行一次请求?
环境:ASP .NET MVC2 或 Mono、jquery、jquery ui。
<form id="_form" method='post' target='_blank' action=''>
.. form fields and other submit buttons
<a href='#' id='_savepdf'>Show PDF</a>
</form>
<script type="text/javascript">
$(function () {
$('#_savepdf').button();
$('#_savepdf').click(function () {
$('#_form')[0].action= '/GetPDF';
$('#_form')[0].submit();
});
});
</script>
更新
用户可能想要关闭 pdf 文件并再次单击或双击此按钮。仅应禁用来自相同用户的并发控制器执行。如果控制器已完成,按钮可以再次单击。