Я только что создал приложение в Laravel, работающее на Semantic 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();
}
Мой список маршрутов показывает, что маршруты являются почтовыми:
+--------+----------+----------+---------------+----------------------------
---------------------------+--------------+
| 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 |
+--------+----------+----------+---------------+----------------------------
---------------------------+--------------+
Есть ли что-то, что неправильно введено в коде? Можете ли вы использовать функции в шаблонизаторе лезвий, такие как «действие» или «метод»?
Попробуйте это так:
Route::get('login', ['as' => 'login', 'uses' => 'LoginController@index']);
Route::post('login', 'LoginController@login');
Я не думаю, что вы создали правильный маршрут в вашем файле маршрутов.
Route::get('/login', function(){
return view('login');
});