0

我一插入这个标题,系统就向我显示了所有类似的问题,但没有一个能帮助我。无论我尝试什么,我都会收到此错误“此路线不支持 POST 方法。 ”。更糟糕的是,我是否已经制作了另一个具有相同逻辑的组件,并且那个组件运行良好。

以下是路线:(teeoffform 有效,公告无效)

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

以下是表单标签:两个相同的工作一个不工作

<form wire:submit.prevent="submit" method="POST">

这是我的组件,来自一个不起作用的组件(公告)与另一个起作用的组件的唯一区别是没有渲染方法,所以我试着把它拿出来看看是否是问题所在,但是没有运气...我想,因为我的路线已经调用了视图,所以可能存在冲突...但是没关系,无论如何我都会遇到错误,而且我没有想法。

<?php

namespace App\Http\Livewire;

use Illuminate\Support\Facades\Auth;
use Livewire\Component;
use App\Models\Bulletins;
use App\Models\User;


class Bulletin extends Component
{
            public $title;
            public $message;
            public $messagesending;
            public $user_email;
            public $userTable_email;
            public $expires;
            public $success_message;
            protected $rules = [
                'title' => 'required',
                'message' => 'required',
                'user_email' => 'required',
                'expires' => 'required',
            ];

    public function render()
    {
        return view('livewire.bulletin', ['email_data' => User::orderBy('email','asc')->get()]);
    }

    public function submit()
    {
        $this->validate();

        $sendMessage = new Bulletins;
        $sendMessage->title = $this->title;
        $sendMessage->message = $this->messagesending;
        $sendMessage->user_email = $this->user_email;
        $sendMessage->expires = $this->expires;
        $sendMessage->save();

        $this->success_message = 'Message Sent Successfully';
    }

}

我真的不明白......我现在找了 4 个小时,为什么会这样。

4

2 回答 2

1

我也遇到了这个问题,发现我的应用程序布局刀片文件中没有包含 Livewire 样式和脚本。

@livewireStyles @livewireScripts

于 2021-01-21T07:41:00.290 回答
0

我发现了不同之处,而不是代码的逻辑,而是我从哪里运行它。如果我从 (localhost/bulletin) 进行测试,我会收到该错误。如果我将组件包含在仪表板(localhost/home)中并从那里运行它,那么一切正常......

这是为什么?我不能在没有登录的情况下访问(localhost/bulletin),所以我登录了。

于 2020-11-26T18:25:05.433 回答