gpt4 book ai didi

php - Laravel - 此路由不支持 POST 方法。支持的方法 : GET, HEAD

转载 作者:行者123 更新时间:2023-12-04 17:30:19 27 4
gpt4 key购买 nike

我想在我创建的日历上添加一个事件,但是我收到以下错误

The POST method is not supported for this route. Supported methods: GET, HEAD

我使用了 @csrf 和 {{ method_field('PUT') }} 方法都无济于事。我还清除了没有帮助的路由缓存。非常感谢任何帮助。

路线:

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

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Route::namespace('Admin')->prefix('admin')->name('admin.')->group(function(){
Route::middleware('can:manage-users')->group(function(){
Route::resource('/users', 'UsersController', ['except' => ['show']]);
Route::resource('/courses', 'CoursesController', ['except' => ['show']]);
});
Route::middleware('can:manage-calendar')->group(function(){
Route::get('events', 'EventsController@index')->name('events.index');
Route::post('/addEvents', 'EventsController@addEvent')->name('events.add');
});
})

索引.blade.php

@extends('layouts.app')
@section ('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-14">
<div class="card">
<div class="card-header">Calendar</div>
<div class="card-body">
{!! Form::open(array('route' => 'admin.events.index', 'method' => 'POST', 'files' => 'true'))!!}
{{-- {{method_field('PUT') }}
@csrf --}}
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12"></div>
<div class="col-xs-4 col-sm-4 col-md-4">
<div class="form-group">
{!! Form::label('event_name', 'Event Name:') !!}
<div class="">
{!! Form::text('event_name', null, ['class' => 'form-control']) !!}
{!! $errors->first('event_name', '<p class="alert alert-danger">:message</p>') !!}
</div>

@Collin,我已经在下面添加了与您的问题相关的图片

enter image description here

最佳答案

错误其实说明了问题。您正在使用的路由不支持 POST 方法。您正在尝试发布到路线:admin.events.index 但您实际上想发布到路线 events.add。

Route::post('/addEvents', 'EventsController@addEvent')->name('events.add');

{!! Form::open(array('route' => 'admin.events.add', 'method' => 'POST', 'files' => 'true'))!!}

{{-- @csrf --}}

添加到此 awnser 是 OP 在评论中提到的验证程序异常的可能解决方案。

未找到验证器错误可能来自以下原因:

添加如下代码时:

    public function addEvent(Request $request) 
{
$validator = Validator::make($request->all(),
[ 'event_name' => 'required',
'start_date' => 'required',
'end_date' => 'required' ]);

if ($validator->fails())
{ \Session::flash('warning', 'Please enter the valid details'); return Redirect::to('admin.events.index')->withInput()->withErrors($validator);

尝试添加:

use Illuminate\Support\Facades\Validator;

关于php - Laravel - 此路由不支持 POST 方法。支持的方法 : GET, HEAD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60336381/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com