问题描述
{!! Form::open(['name' => 'myForm','method' => 'GET','action' => 'AreaController@search','files' => true,'onsubmit' => "return validateForm()"])
!!}
{!! Form::submit('جستجو',['class' => 'btn btn-info']) !!}
{!! Form::close() !!}
Route::get('area/search/','AreaController@search')->name('area.search');
AreaController
:
public function search(Request $request) {
return " it is working" ;
}
但是当我点击按钮时,浏览器显示的是一个空白页面。当我使用 POST
方法时它可以工作,但如果我更改为 GET
方法,它就不起作用。
谢谢。
解决方法
对于Post方法,需要在表单中添加CSRF Token
{!! Form::open(['method' => 'POST']) !!} <--------- Change to POST method
{!! Form::token() !!} <----------- Add this line
{!! Form::submit('جستجو',['class' => 'btn btn-info']) !!}
{!! Form::close() !!}
Route::post('area/search/','areacontroller@search')->name('area.search');
或
如果您不想将 CSRF Token 添加到表单,您可以将其添加到路由文件中。
将CSRF过滤器附加到路由
Route::post('profile',array('before' => 'csrf',function()
{
//
}));
更多详情,您可以参考https://laravel.com/docs/4.2/html