javascript - 无法通过 $resource 获取数组

标签 javascript angularjs angularjs-service angular-resource

无法通过$resource获取数组。你能帮助我吗?当我使用 $http 时一切都很好

我在控制台中出现错误:

TypeError: undefined is not a function
at http://127.0.0.1:9000/bower_components/angular-resource/angular-resource.js:597:29
at forEach (http://127.0.0.1:9000/bower_components/angular/angular.js:327:18)
at angular.module.provider.$get.Resource.(anonymous function).$http.then.value.$resolved (http://127.0.0.1:9000/bower_components/angular-resource/angular-resource.js:595:19)
at deferred.promise.then.wrappedCallback (http://127.0.0.1:9000/bower_components/angular/angular.js:11616:81)
at http://127.0.0.1:9000/bower_components/angular/angular.js:11702:26
at Scope.$get.Scope.$eval (http://127.0.0.1:9000/bower_components/angular/angular.js:12797:28)
at Scope.$get.Scope.$digest (http://127.0.0.1:9000/bower_components/angular/angular.js:12609:31)
at Scope.$get.Scope.$apply (http://127.0.0.1:9000/bower_components/angular/angular.js:12901:24)
at done (http://127.0.0.1:9000/bower_components/angular/angular.js:8487:45)
at completeRequest (http://127.0.0.1:9000/bower_components/angular/angular.js:8703:7)

我用方法创建了一个工厂

coeffsResource.factory("CoeffsResources",['$resource', 

function($resource) {
  return $resource('/api/:action',{}, {
    get_all_coeffs: { method:'GET', isArray:false, params: {action: 'getAllRegionCoefficients'} },
    save_all_coeffs: { method:'POST', params: {action: 'storeAllRegionCoefficients'} },
    get_manufacturer: { method: 'GET', isArray:true, params: {action: 'getAllManufacturers'} },
    get_models: { method: 'GET', params: {action: 'getModels'} },
    get_classes: {method: 'GET', params: {action: 'getClassesConfig'} },
    get_regions: {method: 'GET', params: {action: 'getAllRegions'} },
    get_ages_config: {method: 'GET', params: {action: 'getAgesConfig'} },
    get_odometer: {method: 'GET', params: {action: 'getOdometersConfig'} },
    get_tax_config: {method: 'GET', params: {action: 'getTaxConfig'} }
  }, {stripTrailingSlashes: false})
}]);

在 Controller 中包含工厂

angular.module('etachkaEvaluatorFrontendApp')
  .controller('CoeffCtrl', function($scope,  $http, $resource, $q, CoeffsResources) {

      var coeffsResourcesObject =  new CoeffsResources();
      coeffsResourcesObject.$get_manufacturer().then(function() {

      }, function() {

      })
})

最佳答案

我认为你需要注入(inject) ngResource 依赖项。

angular.module('etachkaEvaluatorFrontendApp', ['ngResource'])

关于javascript - 无法通过 $resource 获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31054283/

相关文章:

Javascript自动选择下拉菜单调试错误

javascript - '未捕获类型错误 : undefined is not a function' when putting controllers/services in a separate js file

angularjs - 将通用 Controller 功能存储在服务中,以便将它们置于隔离范围内

javascript - .bind(this) 是按引用传递还是按值传递?

javascript - RichFaces 输入文本调用文件上传

javascript - 如何将十六进制缓冲区转换为十六进制数组?

javascript - 在 AngularJS 中添加一个自动执行的匿名函数来扩展 Sir Trevor,同时访问 $

javascript - AngularJS 发布到 Controller 并重定向到另一个页面

javascript - 如果没有单击任何 div,则 Angular 禁用应用按钮

AngularJS - 谷歌在标记内映射 ui-sref