提交搜索表单后,它重定向到一个空白页面
After submitting the search form, it redirects to a blank page
我在 'users.index' 视图中有一个多列搜索表单。表格如下:
<form method="get" action="{{route('search')}}">
<input autocomplete="off" type="text" name="name">
<input autocomplete="off" type="text" name="role">
<select name="status">
<option disabled selected>--</option>
<option value="0">inactive</option>
<option value="1">active</option>
</select>
<button type="submit">search</button>
</form>
路线是这样的:
Route::get('/admin/users/search', 'Admin\Search\SearchUsersController@search')->name('search');
但是无论我在控制器的搜索功能中写什么,它 returns 什么都没有,并将我重定向到一个空白页面!
让我们想象一下控制器是这样的:
class SearchUsersController extends Controller
{
public function search(Request $request)
{
dd($request->all());
}
}
我想知道为什么会发生这样的事情。当我将表单的方法更改为 Post 并且我确定了两条不同的路线时,问题就解决了但是它是一个搜索表单并且逻辑上应该是方法。
您需要在表单中使用 csrf_field()
或 <input type="hidden" name="_token" value="'.csrf_token().'">
。
最终我找到了解决办法。如果你的项目的web.php文件中有资源路由,你应该在资源之前引入新路由。
我在 'users.index' 视图中有一个多列搜索表单。表格如下:
<form method="get" action="{{route('search')}}">
<input autocomplete="off" type="text" name="name">
<input autocomplete="off" type="text" name="role">
<select name="status">
<option disabled selected>--</option>
<option value="0">inactive</option>
<option value="1">active</option>
</select>
<button type="submit">search</button>
</form>
路线是这样的:
Route::get('/admin/users/search', 'Admin\Search\SearchUsersController@search')->name('search');
但是无论我在控制器的搜索功能中写什么,它 returns 什么都没有,并将我重定向到一个空白页面! 让我们想象一下控制器是这样的:
class SearchUsersController extends Controller
{
public function search(Request $request)
{
dd($request->all());
}
}
我想知道为什么会发生这样的事情。当我将表单的方法更改为 Post 并且我确定了两条不同的路线时,问题就解决了但是它是一个搜索表单并且逻辑上应该是方法。
您需要在表单中使用 csrf_field()
或 <input type="hidden" name="_token" value="'.csrf_token().'">
。
最终我找到了解决办法。如果你的项目的web.php文件中有资源路由,你应该在资源之前引入新路由。