【问题标题】:html 'Content-Disposition: attachment', then forward to new pagehtml 'Content-Disposition: attachment',然后转发到新页面
【发布时间】:2014-08-14 01:05:52
【问题描述】:

伙计们,

我有一个网页要求用户输入开始日期和结束日期。我们称之为“日期选择”页面。用户单击提交,日期被发送到服务器,服务器创建然后下载电子表格。这工作正常。除了因为这是一个下载,网页停留在“日期选择”页面。点击提交后有没有办法让页面转发到不同的页面?

我希望这能正确解释这种情况。我无法在网上找到任何描述此内容的内容。

谢谢!

【问题讨论】:

    标签: html forward content-disposition


    【解决方案1】:

    尝试将表单重定向到新选项卡,然后使用 javascript 重定向

    主要问题是表单提交(但不一定是文件下载本身)必须在重定向之前完成,否则它会丢失。最简单的方法是使用超时:

    <form target='_blank' id=myform method=post action="/generatexls">
    ...
    </form>
    <script>
        //uses jQuery
        $('#myform').submit(function(){
            setTimeout(function(){
                location.href='/newpage.htm'
            },100)
        })
    
    </script>
    

    我刚刚在我的系统上检查了这一点:IE11 和 Chrome 36 一旦意识到新标签页中没有任何内容,就会立即关闭它。某些浏览器显然可能会继续显示空白选项卡或窗口。 另一种选择是将表单定位到同一页面上的 iframe,但这需要更长的超时时间才能安全

    有一个使用 cookie 的更复杂的解决方案,这里可能会感兴趣:Detect when browser receives file download

    【讨论】:

    • 非常感谢丹尼!我会看看。这是我的客户要求的。
    • 没问题。如果它对您/您的客户有用,请接受此答案
    猜你喜欢
    • 2022-01-20
    • 2015-03-11
    • 2011-04-27
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多