RouteCollection.php中的MethodNotAllowedHttpException

时间:2016-11-24 08:43:03

标签: laravel-5.3 httpexception

我正在尝试将 login.blade.php 中的两个文本框中的某些值传递给 testController 并回显值。我得到" 方法不允许异常错误"我不明白为什么,请告诉我,我做错了什么.. Flow是Login.blade.php - > @的TestController getIndex

web.php

Route::get('welcome','testController@getIndex');
Route::get('login','testController@getLogin');
Route::get('/','testController@getData');

testController.php


class testController extends Controller
{
   public function getIndex(Request $request)
   {
    $email = $request->get('email');
    $password = $request->get('password');
    echo $email;
   }
   public function getData(){
    $datas = Test::all();
    return view('welcome',compact('datas'));
     }
   public function getLogin()
   {
    return view('login');
   }

}

login.blade.php

{!! Form::open(['Url' => 'welcome']) !!}
    {!! Form::label('email','Email') !!}
    {!! Form::text('email',null,array('class' => 'form-control',   'placeholder' => 'Email' ) ) !!}

    {!! Form::label('password','Pasword')!!}
    {!! Form::text('password',null, array('class' => 'form-control', 'placeholder' => 'Password')) !!}
    {!! Form::submit('Login',array('class' => 'btn btn-success btn-block','style'=>'margin-top: 20px;'))!!}
{!! Form::close() !!}

1 个答案:

答案 0 :(得分:0)

使用Form::open()时 - 如果未指定方法(GET或POST),则默认将表单作为POST请求提交。您已设置欢迎路线来处理GET请求。

对于登录表单,我建议您坚持使用POST请求,这将要求您将路由定义更新为;

Route::post('welcome','testController@getIndex');

为了将来参考,您可以在打开表单时指定方法,如下所示:

{!! Form::open(['url' => 'welcome', 'method' => 'GET']) !!}