我在点击地址栏时收到此错误
我从数据库中获取数据并发送到视图,该视图效果很好,但是当我点击地址栏标签时它显示
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);
}
}
答案 0 :(得分:1)
它不起作用,因为当您点击地址栏中的enter
时,它会尝试使用GET
代替POST
,但它只找到了POST
路线。 (路线::交)。
要解决此问题,请执行以下操作:
Route::any('getpiece','Controllers\Domain\Client\ClientController@getpiece');
然后我建议使用像
这样的东西if (Request::isMethod('post'))
{
//
}
和
if (Request::isMethod('get'))
{
//
}
包装你的代码。有关详情,请参阅Request Information docs
另一种方法是直接从路由中解决Controller,如下所示:Laravel 4.2 Implicit Controllers
注意:这些文档链接指向Laravel 4.2。
答案 1 :(得分:0)
我注意到您的控制器方法名为getpost
,但您访问的是$_POST
变量。
如果不查看您的路由文件,我无法确定,但如果您的路由使用Route::get('routename')
,那么它正在使用错误的HTTP方法。如果是这种情况,请尝试将其更改为Route::post('routename')
。
答案 2 :(得分:0)
从项目的根目录在终端中执行php artisan routes
,它可以让您检查注册的路由是什么。
PS:仅供参考,如果是Laravel 5,则为php artisan route:list