【问题标题】:The GET method is not supported for this route. Supported methods: POST i looked everywhere but i haven’t found a solutin此路由不支持 GET 方法。支持的方法:POST 我到处找,但我没有找到解决方案
【发布时间】:2021-06-10 23:15:11
【问题描述】:

所以这是我第一次发布问题,我希望我能得到一些帮助。 这是我的 web.php 文件代码:

Route::get('/blogs', 'BlogsController@index')->name('blogs');
Route::get('/blogs/create', 'BlogsController@create')->name('create');
Route::post('/blogs/store', 'BlogsController@store')->name('blogs.store');

这个是html中的表单域:

<form action="{{ route('blogs.store') }}" method="post">
    @csrf
</form>

【问题讨论】:

  • 你是在表单动作属性中直接使用 blogs.store 吗?
  • 是的,我尝试使用我为路线指定的名称,也尝试使用 uri。似乎没有任何效果。
  • 如果您使用的是刀片模板,那么您可以按照我发布的答案进行操作

标签: sql laravel laravel-8


【解决方案1】:

表单元素应该如下:

<form action="{{ route('blogs.store') }}" method="post">

【讨论】:

  • 我不知道它是否有效,因为现在我遇到了如此丑陋的错误。
  • 违反完整性约束:1048列'title'不能为空(SQL:插入blogstitlebodyupdated_atcreated_at
  • ``` $blog = new Blog(); $blog->title = $request->title; $blog->body =$request->body; $博客->保存();返回重定向('/blogs');```
  • 它成功了,这个新错误是别的东西
  • 您的博客标题为空,这就是您收到该错误的原因。在您的数据库中,您已将标题列设置为 Not Null。
【解决方案2】:

在您的 HTML 表单中,当您调用路由帖子时,它是不正确的。使用以下代码:

路由/web.php

Route::prefix('blogs')->group(function () {
    Route::get('', 'BlogsController@index')->name('blogs');
    Route::get('create', 'BlogsController@create')->name('create');
    Route::post('store', 'BlogsController@store')->name('blogs.store');
});

你的表格应该是这样的:

<form method="post" action="{{ route('blogs.store') }}" enctype="multipart/form-data">
    @csrf
    {{-- Form Data - Start --}}

    {{-- Form Data - End --}}
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-31
    • 2020-09-04
    • 1970-01-01
    • 2019-08-28
    • 2021-04-11
    • 2019-08-31
    • 2021-05-05
    相关资源
    最近更新 更多