0

我正在尝试将login.blade.php中两个文本框中的一些值传递给testController并回显这些值。我得到“方法不允许异常错误”我不明白为什么,请告诉我我做错了什么。 . 流程是 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() !!}
4

1 回答 1

0

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

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

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

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

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

于 2016-11-24T11:16:36.270 回答