Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $Resource error-使用$save.success回调但数据保存正常时_Javascript_Angularjs_Resources - Fatal编程技术网

Javascript $Resource error-使用$save.success回调但数据保存正常时

Javascript $Resource error-使用$save.success回调但数据保存正常时,javascript,angularjs,resources,Javascript,Angularjs,Resources,我正试图使用一个资源来保存一些数据,但发生了一些奇怪的事情: 代码如下: var appointment = new Appointment(formData); console.log(appointment); appointment.$save().success(function (data, status, headers, config){ console

我正试图使用一个资源来保存一些数据,但发生了一些奇怪的事情:

代码如下:

var appointment = new Appointment(formData);
                    console.log(appointment);
                    appointment.$save().success(function (data, status, headers, config){
                         console.log(data);
                         $state.transitionTo('form.success');
                });
现在wierd的事情是数据正在保存,所以$save函数正在工作,但我得到的未定义不是一个函数错误,成功回调不工作-有人知道为什么吗

这些任命的资源是:

angular.module('MyApp')
.factory('Appointment', function($resource){
    return $resource('/api/admin/:id', { id: "@_id" }, {
         query: {method:'GET', isArray:true}
    });

})
我使用的是这个函数和它固有的$save函数,所以它应该不会有问题-而且它似乎是一个不起作用的回调-save是在添加数据没有问题

解决方案:

我简化了它,只需执行以下操作:

appointment.$save(function(data){
//stuff here for the callback works
});
我还认为使用promise方法是可行的,但我没有尝试

不管怎样,我把它标记为接受是为了好的因果报应


谢谢

成功功能是特定于服务的:

$http服务是一个函数,它接受一个参数(一个配置对象),用于生成http请求,并返回带有两个$http特定方法的承诺:success和error

$save
方法返回一个常规承诺,因此您可以使用
然后使用

appointment.$save().then(function (data, status, headers, config){
                     console.log(data);
                     $state.transitionTo('form.success');
            });

以上是整个函数-除非你是指节点部分?