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');
我刚刚在 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');