当前位置:  开发笔记 > 编程语言 > 正文

AngularJS ngResource删除事件不调用回调

如何解决《AngularJSngResource删除事件不调用回调》经验,为你挑选了0个好方法。

我有这个代码:

dogsResource.delete({id: $stateParams.dogId}, angular.noop,
        function(value, responseHeaders){
            //Success
            console.log(value);
            console.log(responseHeaders);
        },
        function(httpResponse){
            //Error
            console.log(httpResponse);
        }
    );

删除完成后,问题是既没有成功也没有错误被调用.我也尝试过使用一个实例(这意味着使用$ delete),但它也没有用.

我尝试用其他方法测试回调,比如get

$scope.dog = dogsResource.get({id: $stateParams.dogId}, function(value, res){
    console.log(value);
});

它有效.我不知道为什么会这样,因为狗正在从数据库中删除.

谢谢

UPDATE

dogResource代码

// Return the dogs resource
.factory('dogsResource', ['$resource', function($resource){
    return $resource("http://localhost:5000/dogs/:id",{id: "@id"},{update: {method: "PUT"}});
}])

更新2

我发现了错误.它在RESTful API(Node js)中.该方法没有向Angular发送任何内容,因此没有触发回调:

//DELETE - Delete a dog with specified ID
exports.deleteDog = function(req, res) {
    console.log('DELETE' + req.params.id);

    Dog.findById(req.params.id, function(err, dog) {
        dog.remove(function(err) {
            if(err) return res.status(500).send(err.message);
            console.log('Succesfully deleted.');
            res.status(200);
        })
    });
};

更换res.status(200)res.status(200).end()了回调触发.

谢谢大家的时间.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有