当前位置: 首页 > 知识库问答 >
问题:

使用Axios的Laravel资源控制器405

岳俊晖
2023-03-14

我正在使用反应laravel一个简单的污秽应用程序。我正在使用Axios向服务器发出请求。GET, POST工作正常。我能够使用POST方法(axios.post)创建一个新项目。但是,当我尝试删除一个项目时,laravel抛出一个405错误,代表不允许的方法

这是我的路线:

Route::resource('items','ItemController')

下面是我的destroy()方法:

public function destroy($id)
    {
      $item = Item::find($id);
      $item->delete();

      return response()->json('Successfully Deleted');
    }

这是我使用axios的删除函数

export function deleteItem(data) {
  let url = BASE_URL+'/items';
  return axios.delete(url,data).then((response) => {
    return response;
  });
}

我对此做了一些研究,发现拉威尔也了解“u方法”参数。因此,我证实了以下事实:

export function deleteItem(data) {
  let url = BASE_URL+'/items';
  let payload = {'id' : data, '_method' : 'DELETE'};
  return axios.post(url,payload).then((response) => {
    return response;
  });
}

但还是没有运气。它总是投405。有什么线索吗?

我正在使用axios


共有1个答案

雍飞雨
2023-03-14

问题是,laravel中的资源删除需要通过url发送id

public function destroy($id){
   // ..find delete 
}

在您不发送id的情况下,TheFore laravel返回一个notfoundhttpexception

因此,将url改为smth如下:let url=BASE_URL_/项目/this.id;

控制器

 类似资料:
  • 资源控制器 资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如: // 生成index模块的Blog资源控制器 php think make:controller index/Blog 或者使用完整的命名空间生成 php think make:controller app\index\controller\Blog 然后你只需要为资源控制器注册一个资源路

  • 这是一个常用的资源控制器模板,使用时可以复制直接使用,复制后把相应命名空间,类名改掉就可以用了; <?php // +---------------------------------------------------------------------- // | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] // +-----------------------

  • 动画控制器资源 准备好动画剪辑后,你还需要使用 动画控制 Animator Controller 把它们整合在一起。动画控制器资源由 Unity 创建,允许为一个角色或对象维护一组动画。 项目视图中的动画控制器资源。 可以从 Assets 菜单或项目视图的 Create 菜单创建动画控制器。 最常见的情况是,拥有多个动画剪辑,并在特定游戏条件发生时,在它们之间切换。例如,每当按下空格键时,可以从行

  • 我在React Web应用程序中使用Axios进行API调用。然而,我得到这个错误在Chrome: 我还阅读了Stack Overflow上关于同一问题的几个答案,标题为访问-控制-允许-起源,但仍然不知道如何解决这个问题。我不想在Chrome使用扩展或使用临时黑客来解决这个问题。请提出解决上述问题的标准方法。 在尝试了几个答案后,我尝试了这个, 现在我得到的错误是,

  • 对于控制器中的show($id)、edit($id)方法,它必须是数据库表中的“id”列吗 我想用数据库表中“post_id”列的值替换$id,但它引发错误: 如何修复它? 示例代码: 数据库表: id(int)、post_id(varchar32)、post_标题(varchar32)、post_内容(text) 路线: 路由::资源('posts','PostsController'); Po

  • 我知道资源控制器可以有以下方法 现在假设除了资源操作之外,我还需要执行以下操作: 用户尝试登录 管理员希望通过电子邮件/名字查找用户 用户通过slug请求帖子 资源控制器对上述功能无用吗?如果编程一个API,我显然想要索引,显示,编辑,创建,销毁... 是否可以路由到这两种类型的控制器?例如。 或者我应该忘记资源控制器而改用restful控制器吗?