首页 > 解决方案 > 我们可以通过锚标签中刀片的 route() 方法传递 PUT、PATCH 和 DELETE 请求吗?

问题描述

改写问题:我知道它是如何通过表单提交和 ajax 请求工作的,我一直在寻找是否有任何方法可以发送“数据”,只需调用 URL(如下所述)来获取PUT、PATCH 和 DELETE以及csrf令牌将取自Kernel > Middleware而不是通过表单提交。

我一直在尝试使用这种方法destroy()DELETE 方法从这样的刀片文件中运行

<a class="p-2" href="{{ route('employees.destroy',[$key->id]) }}">Remove</a>

我们可以覆盖这个方法吗?

if (! function_exists('route')) {
    /**
     * Generate the URL to a named route.
     *
     * @param  array|string  $name
     * @param  mixed  $parameters
     * @param  bool  $absolute
     * @return string
     */
    function route($name, $parameters = [], $absolute = true)
    {
        return app('url')->route($name, $parameters, $absolute);
    }
}

这就是我调用路由的方式

Route::resource('employees','EmployeeController');

我可以这样做来实现我想要的

Route::get('employees/{employees}','EmployeeController@destroy')->name('employees.destroy');
Route::resource('employees','EmployeeController')->except([
    'destroy'
]);

标签: laravelhttphttpverbslaravel-6.2

解决方案


可能是您的解决方案:

<form action="{{ route('employees.destroy', ['id' => $key->id]) }}" method="post">
    <input class="btn btn-default" type="submit" value="Delete" />
    @method('delete')
    @csrf
</form>

推荐阅读