我在这里有这个表格:
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>?id={{$theme->id}}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="price" value="{{$theme->price}}">
<input type="hidden" name="id" value="{{$theme->id}}">
<button type="submit" name="SubmitButton" class="btn btn-success"><span class="glyphicon glyphicon-shopping-cart"></span> buy theme</button>
</form>
当我执行此表单时(我按“购买主题&#39;”)文件开始下载,但问题是页面本身没有刷新,我不知道如何做那个。我希望这个表单能够像这样工作:我按下按钮 - 主题下载+页面刷新或重定向到主页。有可能吗?感谢。
顺便说一句,我使用的是Laravel 5
修改
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"".str_replace(" ", "_", $arr['file'])."\"");
header('Location: index.php');
我添加了标题(&#39;位置:index.php&#39;);它重定向到主页,但下载不要开始。
路线:
Route::get('/download', function(){
return view('fileentries/download');
});
答案 0 :(得分:0)
在代码中执行文件下载后立即写入header(location: homepage.php);
。
答案 1 :(得分:0)
您可以使用url()
辅助功能。它将生成给定路径的完全限定URL。此函数有三个参数:url($path,$parameters,$secure)
。提供第一个参数中的路径路径和第二个参数中的主题ID。
您的表单开头标记应如下所示:
<form method="post" action="{{ URL('/download',$theme->id) }}">