Php Laravel 5.5-使用POST方法时,MethodNotAllowedHttpException
我创建了过滤器以从数据库中获取数据。当我使用GET方法时,它可以工作,但使用POST方法时,我得到错误: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 我花了数小时寻找解决方案,但似乎我遗漏了一些东西 对于测试,我试图直接在路由中获得结果,但仍然是相同的问题 这很有效Php Laravel 5.5-使用POST方法时,MethodNotAllowedHttpException,php,laravel,laravel-5,routing,routes,Php,Laravel,Laravel 5,Routing,Routes,我创建了过滤器以从数据库中获取数据。当我使用GET方法时,它可以工作,但使用POST方法时,我得到错误: Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 我花了数小时寻找解决方案,但似乎我遗漏了一些东西 对于测试,我试图直接在路由中获得结果,但仍然是相同的问题 这很有效 <?php use App\test; Route::get('/', function () { $test = test
<?php
use App\test;
Route::get('/', function () {
$test = test::all();
return $test;
});
这个
use App\test;
Route::post('/', function () {
$test = test::all();
return $test;
});
应该始终是Request
的实例,因此您不能像GET
那样在浏览器中直接访问它,您必须向其发布一些表单数据。因此,最好将其重命名为以下名称:
use App\test;
Route::post('/test', function (Request $request) {
$test = test::all();
return $test;
});
此$request
保存表单数据此
应该始终是Request
的实例,因此您不能像GET
那样在浏览器中直接访问它,您必须向其发布一些表单数据。因此,最好将其重命名为以下名称:
use App\test;
Route::post('/test', function (Request $request) {
$test = test::all();
return $test;
});
此$request
保存表单数据Route::get()
和Route::post()
正在为指定的http方法定义路由处理程序
如果仅定义此路线:
Route::post('/', function () {
$test = test::all();
return $test;
});
然后必须确保对该url的所有调用都使用POST方法。如果您使用GET方法对该url发出请求,您将获得方法NotAllowedHttpException
异常,因为您只定义了POST方法处理程序。Route::GET()
和Route::POST()
正在为指定的http方法定义路由处理程序
如果仅定义此路线:
Route::post('/', function () {
$test = test::all();
return $test;
});
然后必须确保对该url的所有调用都使用POST方法。如果您使用GET方法对该url发出请求,您将获得方法NotAllowedHttpException
异常,因为您只定义了POST方法处理程序。看起来您可能忘记了{{{csrf\u field()}}。将此添加到您的表单中
如果您在没有csrf的情况下发布数据,在laravel 5.5中,您将看到此错误。看起来您可能忘记了{{csrf_field()}}。将此添加到您的表单中
如果您在没有csrf的情况下发布数据,在laravel 5.5中,您将看到此错误。请注意,如果您正在为post编写路由,在测试它时,请确保您正在将数据发布到页面,否则它将通过错误
Post路由不能简单地通过调用url进行测试,方法应该是Post。如果您使用邮递员检查路由URI,它将起作用。请注意,如果您正在为post编写路由,在测试它时,请确保您正在将数据发布到页面,否则它将通过一个错误
Post路由不能简单地通过调用url进行测试,方法应该是Post。如果您使用postman检查路由URI,它将起作用。尝试清除缓存php artisan route:clear
@FuzzyTree它没有帮助。您如何测试该帖子?您实际上是在创建post请求,还是以与get相同的方式对其进行测试?在调用get或post的位置共享代码?我以相同的方式对其进行测试,没有其他代码,只有空类。我在这个例子中也有同样的错误:Route::post('foo/bar',function(){return'Hello World';});尝试清除缓存php artisan路由:clear
@FuzzyTree它没有帮助。您如何测试帖子?您实际上是在创建post请求,还是以与get相同的方式对其进行测试?在调用get或post的位置共享代码?我以相同的方式对其进行测试,没有其他代码,只有空类。我在这个例子中也有同样的错误:Route::post('foo/bar',function(){return'Hello World';})@csrf
也因刀片模板引擎而有效@csrf
也因刀片模板引擎而有效