更新,删除不适用于角度$resource + [php]


Update, Delete do not work with angular $resource + [php]

我是角度js和php的新手。我发现有关使用 $resource 更新数据库中的重新编码的文档有限。但是我在这里找到了一个很好的教程,它几乎提供了有关$resource的所有内容,但我无法使其工作的几件事是使用 $resource 更新和删除 db 中的记录。

我的资源服务代码:

var configServices = angular.module("configServices", []);
configServices.factory('Category', ['$resource', function($resource){
 return $resource("/configurator/api/categories/:id", {id:"@category_id"},
{update:{
mothod: 'PUT',
isArray: false
  }
 })
}])

这是我的服务代码:

  this.updateCategory = function(_data){
var newUpdate = Category.get({id:_data.category_id}, function(result){
  newUpdate.data = _data;
  newUpdate.$update(function(res){
    console.log("Got respose from update call" + res);
   })
 })
}

您可以看到我几乎遵循本教程,但无法更新或删除数据库中的记录。好心的帮助弄清楚,我做错了什么。

.php:

private function updateCategory($data){
    $_id = implode("", $this->args);
    $query = "UPDATE cg_category SET category_name = '$data[category_name]' WHERE category_id = '$data[category_id]'";
    $result = mysqli_query($this->db, $query) or mysql_error();
    if($result)
    {
        $this->response($this->json(array("Success" => true)), 200);
    }
}

这似乎是 Angular $resource类中的一个错误,其中 PUT 方法也发送 GET 请求,所以我继续使用 $http put 方法,效果很好。

这是我的最终工作代码$http

this.updateCategory = function(_data){
$http.put("/domain/api/categories/"+_data.category_id, _data).success(function(res){
  console.log("Got put method " + res);]
 })
}

但是,我仍然很想听听您的意见,以防您发现$resource类适用于PUT方法。