我有一个页面可以下载文件,具体取决于表单中的某些配置。
当我发送表单时,文件下载得很好,但是如果我更改表单并再次发送,则没有任何反应。
示例表单:
<form action="/download" method="get" target="_blank">
<input type="checkbox" name="some_option" value="1" />
<input type="submit" value="Download" />
</form>
表单仅在第一次发送。
我考虑过使用JS发送表单,但我不认为文件下载是这样的。
有什么建议吗?
编辑:添加了target="_blank"
之类的建议。
更新:
补充说:
$('form').submit(function() {
this.action = addRandomParam(this.action);
console.log(this.action);
});
每次点击“下载”按钮时都会触发submit
事件,但我仍然只是第一次下载文件。
答案 0 :(得分:2)
假设您的下载网址为download
,您需要在其中添加斜杠,否则下次提交会将您带到显然不存在的/download/download
。如果这是正确的,您可以尝试将操作设置为action="/download"
答案 1 :(得分:1)
可能是浏览器以某种方式缓存您提交的网址?您可以尝试在点击提交按钮后向下载URL添加随机参数吗?这样,下次你点击提交时,浏览器会认为它是一个不同的网址?
答案 2 :(得分:0)
好的,问题是有些Javascript正在做这样的事情(代码只是说明性的:P)......
$('form').submit(function() {
if (alreadySent()) {
this.preventDefault();
}
setAsSent();
});
这是为了防止多次发送普通表格。
谢谢大家的答案。