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

此路由不支持 POST 方法。 支持的方法: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');
    });
})

index.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,我在下面添加了与您的问题相关的图片

在此处输入图片说明

#1楼 票数:2

该错误实际上解释了问题。 您使用的路由不支持 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;

#2楼 票数:-1 已采纳

只需检查您的表单操作 url 路由。 您必须传递 'route('admin.events.add)' 而不是 'route('admin.events.index')' 并且不要使用 'PUT' 它也会接受 'POST'。

  ask by Zak translate from so

未解决问题?本站智能推荐:

2回复

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

我正在尝试在我创建的日历上添加一个事件,但是我收到以下错误 此路由不支持 POST 方法。 支持的方法:GET、HEAD 我已经使用了@csrf 和 {{ method_field('PUT') }} 方法,但无济于事。 我还清除了没有帮助的路由缓存。 任何帮助深表感谢。 路线: i
2回复

此路由不支持 Post 方法

我的保存/存储页面出现错误: 此路由不支持 POST 方法。 支持的方法:GET、HEAD、PUT、PATCH、DELETE。 我不知道发生了什么,我是 Laravel 的新手。 控制器:这是代码 网络路线: Route::resource('post', 'PostControl');
1回复

此路由不支持 GET 方法。 支持的方法:POST。 拉拉维尔 8

我是 Laravel 的新手。 我正在 Laravel 中制作注册表单。 当我使用Route::post()并在我的控制器中创建这个函数时,它给了我错误。 和 这是我的函数 userregister
2回复

Laravel路由表用方法get

我正在使用Laravel 5.1,我的路由有问题。 目前,我在我的routes.php上有这个 路由被正确地重定向,除了搜索总是使用ArticleController@show路由。 在主页上,我有一个搜索表单。 它重定向到此URL: http://example.com
1回复

此路由不支持 GET 方法。支持的方法:HEAD

我刚刚安装了 Laravel 8 并创建了新的控制器和路由。 当我尝试使用我创建的新路线时,该路线工作正常但路线('/')不起作用。 给我错误此路线不支持 GET 方法。 支持的方法:HEAD。 路线/ web.php 登录控制器 路线清单 问题详细信息:这里我有 2
1回复

在 Laravel auth 中,此路由不支持 POST 方法。 支持的方法:GET、HEAD

我正在尝试在我的 laravel 8 项目中设置电子邮件验证,我已使用 auth 命令在我的项目中设置 mu 身份验证。 我得到的错误是:- 缺少 [Route: verify.verify] [URI: email/verify/{id}] 的必需参数。 这是我的 HomeControl
1回复

为什么在远程服务器上迁移Laravel应用程序后,此路由不起作用?

这是我第一次尝试将Laravel应用程序从本地环境迁移到远程服务器。 因此,基本上我已经将本地Laravel 5.4应用程序的全部内容上载到了远程服务器的以下文件夹中: 然后,我尝试在浏览器(我的远程服务器)中打开此URL: 以及如何看到标准的Laravel主页(希望,我还
1回复

Laravel 5-POST上不允许使用方法

我正在尝试使用model.save()保存主干模型。 我要发送POST方法的URL是: http://localhost/user 我的路线是: Route::POST('/user/{user}', 'Dashboard\\Dashboard@newUser'); 但是我得到了
1回复

我应该使用 Get 还是 Delete 方法删除 laravel 中的记录?

我已经看到许多问题和帖子使用 Get 方法在 url 上传递 ID,如 /articles/delete/{id}。 这种情况下的路由是使用 GET 方法定义的。 如果我使用 Delete 方法有什么区别,我该如何使用它? 我应该使用哪一种?
3回复

Laravel5.8:此路由不支持 GET 方法。 支持的方法:POST。 问题

我正在设置用户配置文件更新部分。 但是当我进入个人资料创建页面时,出现以下错误。 此路由不支持GET方法。 支持的方法: POST 。 我尝试了php artisan route:clear并检查了所有内容。 但是我无法解决这个问题,所以如果有人帮助我,我很高兴。 web.php c