使用Axios,Vue,Laravel删除对象

时间:2019-05-14 12:21:47

标签: laravel vue.js axios

我正在尝试从我的视图和mySQL DB中删除一个对象,但是我遇到此错误: DELETE http://localhost:8000/api/machines/[object%20MouseEvent] 404 (Not Found)

如果我删除了axios调用,则此方法将从视图中删除该对象(当然,当我重新加载页面时,它会返回,因为我没有将其持久保存到数据库中。

该方法的外观如下:

removeElement(index) {
 axios
  .delete("machines/" + index)
  .then(res => {
   confirm("Are you sure you want to delete this item?") &&
   this.machines.splice(index, 1);
  })
  .catch(err => {
    console.log(err);
  });
},

这是路线的外观:

 Route::delete('machines/{id}', [
  'as' => 'machines/{id}',
  'uses' => 'MachineController@destroy'
  ]);

这是控制器的外观:

public function destroy(Request $request, $id)
 {
   $machines = Machine::findOrFail($request->id)->delete();
 }

有人可以帮助我,或者至少将我指向正确的方向吗?预先感谢!

1 个答案:

答案 0 :(得分:1)

  

http://localhost:8000/api/machines/[object%20MouseEvent]

这不是正确的URL。看来您需要获取机器ID并使用它来请求。

尝试使用removeElement(machine.id)代替您现在正在使用的

如果这还不够,请通过其中的removeElement调用来共享vue / js代码