尝试使用ngResource模块发布数据

时间:2016-04-05 22:16:02

标签: angularjs angularjs-directive

我正在拼命尝试使用angular ng-resource模块调用我的对象上的简单保存。

angular.module('testApp', ['ngResource'])
.controller('testController', function($scope, Stock) {
    $scope.stock = {};
    $scope.stock.id = 1;
    $scope.stock.name = "Kellog"; 

    $scope.submit = function() {    
      Stock.save($scope.stock); 
    };
});

angular.module('testApp')
.factory('Stock', function($resource) {
    return $resource('api/stock');
  }
);

我希望发布我的数据(POST动词)但没有任何反应,而是出现以下错误:

  

TypeError:无法读取属性' id'未定义的

2 个答案:

答案 0 :(得分:0)

必须首先创建资源对象

var newStock = new Stock($scope.stock);

newStock.$save();

答案 1 :(得分:-1)

在我的第一条消息中,有一个非常重要的信息缺失,我正在使用的js库。在那种情况下,ng-resource.js与最新的角度修订版本之一不兼容(1.5.3)。相反,应该使用angular-resource.js。

我的代码做了一些改动(使用了一个承诺),之后一切顺利,所以这是我的回答:

Click Team > Show in History from the context menu to inspect the history of a resource: