为了账号安全,请及时绑定邮箱和手机立即绑定

laravel抛出MethodNotAllowedHttpException

laravel抛出MethodNotAllowedHttpException

C#
千万里不及你 2019-10-09 16:44:22
我正在尝试一些非常基本的操作。我已经习惯了CI,现在正在学习Laravel 4,他们的文档并不容易!无论如何,我试图创建一个登录表单,并通过在下一个表单中打印数据来确保成功发布了数据。我收到此异常:Symfony \组件\ HttpKernel \异常\ MethodNotAllowedHttpException和我的MemberController.php:    public function index()    {        if (Session::has('userToken'))        {            /*Retrieve data of user from DB using token & Load view*/            return View::make('members/profile');        }else{            return View::make('members/login');        }    }    public function validateCredentials()    {        if(Input::post())        {            $email = Input::post('email');            $password = Input::post('password');            return "Email: " . $email . " and Password: " . $password;        }else{            return View::make('members/login');        }    }路线有:Route::get('/', function(){    return View::make('hello');});Route::get('/members', 'MemberController@index');Route::get('/validate', 'MemberController@validateCredentials');最后,我的视图login.php具有以下表单方向:<?php echo Form::open(array('action' => 'MemberController@validateCredentials')); ?>任何帮助将不胜感激。
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

我怀疑问题出在您的路线定义上。


您将路由定义为GET请求,但是表单可能正在发送POST请求。更改您的路线定义。


Route::post('/validate', 'MemberController@validateCredentials');

通常,更好的做法是使用命名路由(如果控制器方法/类发生更改,则有助于扩展)。


Route::post('/validate', array(

    'as' => 'validate',

    'uses' => 'MemberController@validateCredentials'

));

在表格中使用以下内容


<?php echo Form::open(array('route' => 'validate')); ?>


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 691 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信