Laravel 应用不断返回 MethodNotAllowdHttpException

Laravel app keeps returning MethodNotAllowdHttpException

我刚刚在 Laravel 运行ning 中基于语义 UI 制作了一个应用程序,当我 运行 该程序时,它显示 MethodNotAllowedHttpException 错误。我有显示的路线代码:

<?php

Route::get('/', function () {
    return view('welcome');
});

Route::get('/view', [
    'uses' => 'ViewController@index',
    'as' => 'view'
 ]);

 Route::post('/login', [
    'uses' => 'Auth\LoginController@login',
    'as' => 'login'
 ]);

blade 文件还包括 'method' 和 'action' 函数。 ` @extends('layouts.app')

 @section('title')
    Login
 @endsection

 @section('content')
    @if(count($errors) > 0)
    <div class="ui bulleted list">
        @foreach($errors as $error)
            <div class="item">{{ $error }}</div>
        @endforeach
    </div>
@endif
<div class="ui middle aligned center aligned grid">
    <div class="column">
        <h2 class="ui teal header">
            <p>
                Log in to your account
            </p>
        </h2>
        <form class="ui large form" action="{{ route('login') }}" method="post">
            <div class="ui stacked segment">
                <div class="field">
                    <div class="ui left icon input">
                        <i class="user icon"></i>
                        <input type="text" id="email" name="email" placeholder="Enter your email">
                    </div>

                    <div class="ui left icon input">
                        <div class="ui left icon input">
                            <i class="lock"></i>
                            <input type="password" id="password" name="password" placeholder="Enter your password">
                        </div>
                    </div>
                </div>

                <div class="ui fluid large teal submit button">Login</div>
            </div>
        </form>
        <div class="ui message">
            <p>
                New to us? <a href="#">Sign up</a>
            </p>
        </div>
    </div>
</div>
@endsection`

在我的 Auth 文件夹中,我还有以下用于 LoginController 的代码`

public function login(Request $request)
{
    if(Auth::attempt(['email' => $request['email']], ['password' => $request['password']]))
    {
        return redirect()->route('view');
    }

    return redirect()->back();
}

我的路线列表显示路线属于post:

+--------+----------+----------+---------------+----------------------------
---------------------------+--------------+
| Domain | Method   | URI      | Name          | Action                                                
| Middleware   |
+--------+----------+----------+---------------+----------------------------
---------------------------+--------------+
|        | GET|HEAD | /        |               | Closure                                               
| web          |
|        | GET|HEAD | api/user |               | Closure                                               
| api,auth:api |
|        | POST     | login    | auth.login    | 
App\Http\Controllers\Auth\LoginController@login       | web,guest    |
|        | POST     | register | auth.register | 
App\Http\Controllers\Auth\RegisterController@register | web,guest    |
|        | GET|HEAD | view     | view          | 
App\Http\Controllers\ViewController@index             | web          |
+--------+----------+----------+---------------+----------------------------
---------------------------+--------------+

代码中是否输入了错误的内容?您可以使用 blade 模板引擎中的函数,例如 'action' 或 'method' 吗?

我认为您在路线文件中创建的路线不正确。

  Route::get('/login', function(){
        return view('login');
  });

试试看:

Route::get('login', ['as' => 'login', 'uses' => 'LoginController@index']);
Route::post('login', 'LoginController@login');