我是角度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方法。