0

我正在尝试添加一个表单按钮来删除记录,但由于某种原因,csrf 令牌没有插入它。我已经尝试了很多方法,但我无法让它发挥作用。有什么建议么?

<div class="row">
    <a href="{{ route('publicaciones.show', $id)}}" class="btn btn-success btn-sm h-25 d-inline-block mr-3">Ver</a>
    <a href="{{ route('publicaciones.show', $id)}}" class="btn btn-primary btn-sm h-25 d-inline-block">Editar</a>

    <form method="POST" action="{{ url("publicaciones/{$id}") }}" class="col">
         @csrf

        @method('DELETE')
        <button class="btn btn-danger btn-sm" type="submit" id="eliminar">Eliminar</button>

    </form>
</div>

附图: 捕获

4

1 回答 1

0

通常你的路由不使用网络中间件。确保您使用routes/web.php该路线并确保RouteServiceProviderRoute::middleware('web')示例:

/**
 * Define the "web" routes for the application.
 *
 * These routes all receive session state, CSRF protection, etc.
 *
 * @return void
 */
protected function mapWebRoutes()
{
    Route::middleware('web')->namespace($this->namespace)->group(base_path('routes/web.php'));
}

或者您可以手动添加到每个路线使用,如下所示:

Route::group(['middleware' => ['web']], function () {

    // your routes here

});

正如对RouteServiceProviderweb 中间件的评论,将使您的路由接收会话状态、CSRF 保护等。

于 2020-10-23T10:21:51.673 回答