我遇到了Laravel 5无法显示当前正在浏览器中显示的视图的正确URL的问题。返回视图无法更新地址栏中的URL - Laravel 5
我的网站涉及一系列视图,每个视图都包含一个表单,并且用户通过这些视图连续并以特定顺序引导,以提交我需要的所有信息。有四个这样的页面,关于它们的一切工作都很好,除了URL显示。
会发生什么:我们加载第一个视图,URL显示mypage/1。我们提交表单并加载第二个视图,但mypage/1仍在地址栏中。当我们在第二个视图中提交表单并加载第三个视图时,URL会前进一次,以在地址栏中显示mypage/2。通过这种方式,地址栏中的网址与实际显示的视图之间存在一页的延迟。
举例路线:
Route::get('createproject/start', '[email protected]');
Route::post('createproject/start', '[email protected]');
Route::get('createproject/create', '[email protected]');
Route::post('createproject/create', '[email protected]');
典型控制器功能:
public function start()
{
return view('createproject/start');
}
public function create()
{
return view('createproject/create');
}
protected function sendToCreate(Request $request)
{
return view('createproject/create', array('proj_name' => $request->name,
'proj_area_main' => $request->area_main,
'proj_field' => $request->field,
'proj_creator' => $request->creator,
));
}
示例表:
// On the start page, the form begins like this...
<form class="form-horizontal" role="form" method="POST" action="{{ url('/createproject/start') }}">
// On the create page, the form begins like this...
<form class="form-horizontal" role="form" method="POST" action="{{ url('/createproject/create') }}">
如果你想更新你的URL,那么只需制作一个路由并从控制器,而不是返回视图重定向到该路由。 – Ali
也许你可以使用会话来存储数据视图来查看。 –
谢谢克劳迪奥。我接受了你的建议。 – Atlas