Php Laravel 4显示MethodNotAllowedHttpException
当我点击地址栏时,我收到了这个错误 我从数据库中获取数据并发送到视图,该视图工作得很好,但当我点击地址栏选项卡时,它会显示出来Php Laravel 4显示MethodNotAllowedHttpException,php,laravel,routes,Php,Laravel,Routes,当我点击地址栏时,我收到了这个错误 我从数据库中获取数据并发送到视图,该视图工作得很好,但当我点击地址栏选项卡时,它会显示出来 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 任何帮助都会对我很好 在我的控制器中: public function getpiece() { $reportno = $_POST['reportno']; $data = DB::table('rep
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
任何帮助都会对我很好
在我的控制器中:
public function getpiece()
{
$reportno = $_POST['reportno'];
$data = DB::table('reportno')->where('reportno','=',$reportno)->get();
if(empty($data)) {
return \Redirect::to('dashboard/client/piece')
->with('status','error')
->with('message','Data Not Available');
} else {
return \View::make('dashboard.client.piecewisereport')
->with('data',$data);
}
}
我注意到您的控制器方法被称为
getpost
,但是您访问$\u POST
变量
如果不查看您的routes文件,我就无法确定,但是如果您的route使用了
route::get('routename')
,那么它使用了错误的HTTP方法。如果是这种情况,请尝试将其更改为Route::post('routename')
它不起作用,因为当您在地址栏中点击enter
时,它试图使用GET
而不是post
,但它只找到post
路由。(路线:邮政)
要解决此问题,请执行以下操作之一:
Route::any('getpiece','Controllers\Domain\Client\ClientController@getpiece');
然后我建议使用类似
if (Request::isMethod('post'))
{
//
}
及
来包装您的代码。有关这方面的更多信息,请参阅
另一种方法是直接从路由寻址控制器,如下所示:
注意:这些文档链接链接到Laravel 4.2。执行
php artisan routes
在项目根目录的终端中,它允许您检查注册的路由
PS:FYI,在Laravel 5的情况下,应该是
php artisan route:list
如何调用此操作和http方法,例如GET、POST、DELETE或其他?可能您的路由中的POST和GET方法没有分开。使用POST route::POST('getpiece','Controllers\Domain\Client\ClientController@getpiece');我只使用post methodgetpiece是一个函数名,您可以只使用piece()Yok,在这种情况下,看起来Ciccio的答案就是您要查找的。路由丢失,可能会话路由中有问题?抱歉,更新了答案。我忘了在路由中添加@getpiece
,奇怪的是,在任何
上都会出现方法不允许异常
异常。您是否删除了路由::post
?或者它不是一个MethodNotAllowedException
?是的,我将route::post更改为route::any,但仍然存在相同的错误MethodNotAllowedHttpException
if (Request::isMethod('get'))
{
//
}