当您显示表单敌人登录时,您可以从session 获取预期的url(如果可用)并将其传递给视图,然后使用window.location 重定向。
所以。如何抢到intended url?
$intended_url = Session::get('url.intended', url('/'));
Session::forget('url.intended');
这里,第一个参数是intended url(如果在session 中可用),默认设置为使用url('/') 辅助方法的主页,因此$intended_url 将始终包含url,既定的或默认的。然后当你加载视图时,使用这个传递$intended_url:
return View::make('login')->with('intended_url', $intended_url);
然后从视图中使用它:
window.location = $intended_url;
或者,您可以设置View Composer,这样每当显示login 视图/表单时,intended url 将在该视图中可用,您可以使用以下方法进行操作:
View::composer('login', function($view){
$intended_url = Session::get('url.intended', url('/'));
Session::forget('url.intended');
return $view->with('intended_url', $intended_url);
});
这里,login 是登录页面的视图名称,如果这是您的情况,请将其更改为您的 login 视图的适当名称。您可以将此代码保存在“global.php”文件内的app/start 文件夹中,或者将其保存在单独的文件中,并使用此(在末尾)将此文件包含在global.php 文件中:
require 'view_composer.php';
假设文件名为view_composer.php,位于app/start 文件夹中。