为什么 Laravel post 方法在路由器页面上不起作用?
Why Laravel post method doesn't work on router page?
我是 Laravel 的初学者,我尝试处理这种情况。当我使用 post 方法时,我的路由器不工作。我清除了我的缓存,查看但仍然无法正常工作。我看了很多 YouTube 用户,但同样的问题还在继续。感谢您的帮助。
错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
The GET method is not supported for this route. Supported methods: POST.
web.php
Route::get('/mainpage', function () {
return view('general');
});
Route::post('/general','App\Http\Controllers\GeneralController@store');
GeneralController.php
public function store(Request $request){
echo"works";
dd($request);
}
general.blade.php
<form action="{{url('/general')}}" method="POST" >
@csrf
<label for="email" class="u-label u-text-body-alt-color u-label-1">Email</label>
<input type="email" placeholder="" id="email" name="email" class="u-input u-input-rectangle u-white" required="">
<label for="name" class="u-label u-text-body-alt-color u-label-2">name</label>
<input type="text" placeholder="" id="password" name="password" class="u-input u-input-rectangle u-white" required="">
<a href="{{url('/general')}}" >Submit</a>
<input type="submit" value="submit" class="u-form-control-hidden">
</form>
这不是 laravel 的问题,而是 html 的问题。在您的代码中,如果有人单击锚标记,由于 href link,window 将打开一个名为 /general 的 url。但这不会提交您的表单,它只会打开另一个页面。
<input type="submit" value="submit">
让表单正常提交就可以了。
编辑:
一般的东西,最好给路线命名,例如:
Route::post('/general','App\Http\Controllers\GeneralController@store')->name('general');
然后您可以像这样在您的视图中简单地访问 url/route:
<form action="{{route('general')}}" method="POST">
我是 Laravel 的初学者,我尝试处理这种情况。当我使用 post 方法时,我的路由器不工作。我清除了我的缓存,查看但仍然无法正常工作。我看了很多 YouTube 用户,但同样的问题还在继续。感谢您的帮助。
错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
The GET method is not supported for this route. Supported methods: POST.
web.php
Route::get('/mainpage', function () {
return view('general');
});
Route::post('/general','App\Http\Controllers\GeneralController@store');
GeneralController.php
public function store(Request $request){
echo"works";
dd($request);
}
general.blade.php
<form action="{{url('/general')}}" method="POST" >
@csrf
<label for="email" class="u-label u-text-body-alt-color u-label-1">Email</label>
<input type="email" placeholder="" id="email" name="email" class="u-input u-input-rectangle u-white" required="">
<label for="name" class="u-label u-text-body-alt-color u-label-2">name</label>
<input type="text" placeholder="" id="password" name="password" class="u-input u-input-rectangle u-white" required="">
<a href="{{url('/general')}}" >Submit</a>
<input type="submit" value="submit" class="u-form-control-hidden">
</form>
这不是 laravel 的问题,而是 html 的问题。在您的代码中,如果有人单击锚标记,由于 href link,window 将打开一个名为 /general 的 url。但这不会提交您的表单,它只会打开另一个页面。
<input type="submit" value="submit">
让表单正常提交就可以了。
编辑:
一般的东西,最好给路线命名,例如:
Route::post('/general','App\Http\Controllers\GeneralController@store')->name('general');
然后您可以像这样在您的视图中简单地访问 url/route:
<form action="{{route('general')}}" method="POST">