使用Axios的Laravel资源控制器405

使用Axios的Laravel资源控制器405,laravel,laravel-5,axios,laravel-5.5,Laravel,Laravel 5,Axios,Laravel 5.5,我正在使用react+laravel开发一个简单的crud应用程序。我正在使用Axios向服务器发出请求。得到,这个帖子很好用。我可以使用POST方法(axios.POST)创建一个新项目。然而,当我试图删除一个条目时,laravel抛出了一个405错误,表示“methodnotallowed” 这是我的路线: Route::resource('items','ItemController') 下面是我的destroy()方法: 以下是我使用axios的删除功能: export function

我正在使用react+laravel开发一个简单的crud应用程序。我正在使用Axios向服务器发出请求。得到,这个帖子很好用。我可以使用POST方法(axios.POST)创建一个新项目。然而,当我试图删除一个条目时,laravel抛出了一个405错误,表示“methodnotallowed”

这是我的路线:

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

下面是我的destroy()方法:

以下是我使用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&laravel。

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

public function destroy($id){
   // ..find delete 
}
在您不发送id的情况下,TheFore laravel返回一个
notfoundhttpexception

因此,将url更改为smth,如下所示:
let url=BASE\u url\u'/items/'+this.id


问题是,laravel中的资源删除要求通过url发送id。因此,将url更改为smth,如下所示:
let url=BASE\u url\u'/items/'+this.id@LeoinstanceofKelmendi真棒。!谢谢你的提示。工作完美。请将此添加为答案。例外情况是
methodNotAllowed
@MahdiYounesi用于删除的资源路由是Route::delete('items/{item}','Controller');因此,当他向url base_url+“/items”路由未找到或NOTFOUNDHTTPEXCEPTION not methodnotallowed发送删除请求时,因为在资源中只定义了一个删除路由。你会及时到达那里的,你只需要多学一点。你否决了我吗?对不起,我明白了,编辑一下anwse我想收回投票,对不起that@MahdiYounesi顺便说一句,你应该对我的答案投赞成票,因为你从中学到了一些新东西。我理解我的错误。我的控制器在URL over DELETE请求中需要/$id。但我只是将删除请求发送到/items URL,它显然没有定义为带有DELETE方法的路由。再次感谢。
public function destroy($id){
   // ..find delete 
}