代码之家  ›  专栏  ›  技术社区  ›  zilijonas

Laravel:POST->Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException

  •  2
  • zilijonas  · 技术社区  · 6 年前

    其他编码人员。

    每当我试图发布某些内容时,都会出现此错误。

    enter image description here

        <h1>Publish a Post</h1>
    
        <hr>
    
        <form method="POST" action="/posts">
    
          {{ csrf_field() }}
    
          <div class="form-group">
            <label for="title">Title</label>
            <input type="text" class="form-control" id="title" name="title">
          </div>
    
          <div class="form-group">
            <label for="body">Body</label>
            <textarea type="text" class="form-control" id="body" name="body"></textarea>
          </div>
    
          <button type="submit" class="btn btn-primary">Publish</button>
    
        </form>
    
      </div>
    

    网状物php文件:

    Route::get('/', 'PostController@index');
    
    Route::get('/posts/create', 'PostController@create');
    
    Route::get('/posts', 'PostController@store');
    

    后置控制器。php文件:

      public function create()
        {
          return view('posts.create');
        }
    
        public function store()
        {
          dd(request()->all());
        }
    

    和数据库架构:

    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->text('body');
            $table->timestamps();
        });
    }
    

    如果有任何关于我做错了什么或如何解决这个问题的想法,我将不胜感激。

    2 回复  |  直到 6 年前
        1
  •  3
  •   Chin Leung    6 年前

    你没有 POST 在路线中定义。更新您的 ::get ::post 对于您的端点。

    Route::post('/posts', 'PostController@store');
    

    有关更多信息: https://laravel.com/docs/5.6/routing#basic-routing

        2
  •  0
  •   Rotimi    6 年前

    您可以注册到控制器的资源路由:

    Route::resource('/posts', 'PostController');

    有关更多信息: https://laravel.com/docs/5.6/controllers