我想从一个视图重定向:

Route::get('/MyRoute', function () {
    return View::make('MyView');
});


在MyView中,我想执行一些JavaScript,然后重定向到下载文件:

// some imaginary javascript code, which will get executed

<?php

Redirect::to('/MyRoute2');


我似乎找不到一种可行的方法。我究竟做错了什么?

当然,我可以将/MyRoute更改为:

Route::get('/MyRoute', function () {
    return Redirect::to('/MyRoute2');
});


但是我无法执行一些JavaScript代码。

最佳答案

您必须在视图内部使用JS。所有php都在页面呈现之前处理,因此,如果您想在一些js代码之后进行重定向,则需要从客户端调用重定向:

<script>
// your "Imaginary javascript"
 window.location.href = '{{url("yoururl")}}';
// or
 window.location.href = '{{route("myRoute")}}'; //using a named route
</script>

08-06 09:24