【问题标题】:vue axios delete request not working in laravel 7vue axios删除请求在laravel 7中不起作用
【发布时间】:2020-08-14 12:50:36
【问题描述】:

Vue 组件

    methods: {
    removeCategory(index) {
        if (confirm('Are you sure ?')) {
            let id = this.categories[index].id;
            console.log("ID="+id);
            if (id > 0) {
                axios.delete('/api/categories/' + id);
            }
            this.categories.splice(index, 1);
        }
    },

路由 API

Route::delete('/categories/{category}', 'CategoryController@destroy');

控制器

    public function destroy(Category $category)
{
    $this->authorize('delete', $category);
    $category->delete();
    return $category;
}

Put 请求可以正常插入和更新数据,但 DELETE 请求无法从数据库中删除数据。 谢谢

【问题讨论】:

  • 当您说“DELETE 请求无法从数据库中删除数据”时,您的意思是什么?有没有错误?请提供一些额外的信息。
  • 不是它没有显示任何错误,而是没有从数据库中删除数据
  • 您能在浏览器中检查您的控制台或网络标签吗?这可能会提供一些错误数据。
  • 是的,我有,但没有显示任何错误,我的 POST 请求工作正常,与此相同,也许 ELoquent Delete 不起作用。

标签: laravel api vue.js axios


【解决方案1】:

Laravel 检查 CSRF 令牌。 需要在请求头中添加 X-CSRF-TOKEN

您可以阅读此文档:https://laravel.com/docs/7.x/csrf#csrf-x-csrf-token

【讨论】:

    【解决方案2】:

    如果你还没有找到答案,快速修复如下:

    删除 Controller 中的模型绑定。 使用 id 获取特定类别。 授权并删除它。

    (无需修改ComponentRoute

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-18
      • 2020-02-14
      • 2023-04-03
      • 1970-01-01
      • 2018-11-26
      • 2018-12-24
      • 2018-05-20
      • 2018-12-25
      相关资源
      最近更新 更多