2015-05-21 4 views
1

Я получаю сообщение об ошибке «не является функцией» при попытке вызвать мою службу. NgResource уже введен. Что я делаю не так?Как правильно позвонить на мое заводское обслуживание?

controller.js:

app.controller('controllerA', ['$scope', 'CustomizingService', 
    function($scope, CustomizingService) { 
     $scope.cust = CustomizingService.Customizing.squares({numberOf: 2, valid: true}); 
}]); 

service.js:

(function() { 

    angular.module('ST_CCG').factory('CustomizingService', ['$resource', function ($resource) { 
     //var url = config.CustomizingAPI_Url + '/Customizing/:link/'; 
     var url = 'http://localhost:54483/BusinessService.svc/:link/'; 

     return { 
      Customizing: $resource(url, { 
       squares: { 
        method: 'GET', 
        params: { link: 'GetSquares', numberOf: '@numberOf', valid: @valid }, 
        isArray: true }, 
       circles: { 
        method: 'GET', 
        params: { link: 'GetCircles', valid: true }, 
        isArray: true } 
      }) 
     }; 
    }]); 
})(); 

EDIT

Я использую хром отладчик и получил следующие ошибки: Typ eError: CustomizingService.Customizing.orders не является функцией

app.js:

var app = angular.module('ST_CCG', [ 
    'ngRoute', 
    'ngResource' 
]) 
.config(['$routeProvider', 
     function ($routeProvider) { 
      $routeProvider. 
       when('/menu', { 
        templateUrl: 'Modules/Menu/view.html', 
        controller: 'controllerA' 
       }). 
       when('/orders', { 
        templateUrl: 'Modules/Orders/view.html', 
        controller: 'controllerB' 
       }). 
       otherwise({ 
        redirectTo: '/' 
       }); 
     } 
]); 

index.html:

... 
<!--MODOLE + CONTROLLER Resources--> 
<script src="app.js"></script> 
<script src="service.js"></script> 
<script src="modules/menu/controller.js"></script> 
<script src="modules/orders/controller.js"></script> 
</head> 

<body ng-app="ST_CCG"> 

<a href="#/menu">Menu</a> 
<a href="#/orders">Orders</a> 

<div ng-view></div> 

</body> 
+1

у вас есть ошибка? –

+0

при загрузке сайта, позвольте мне уточнить мой вопрос. Я использую хром-отладчик. –

+0

Я всегда волнуюсь, когда вижу «угловой.module (onlyOneArgument)». Похоже, что причиной многих проблем является – Phil

ответ

2

Это, вероятно, потому, что вы передаете ваш действия где параметры по умолчанию go. Измените его на

Customizing: $resource(url, {valid: true}, { 
    squares: // etc 

Я использовал valid: true в Params по умолчанию, как вы, кажется, использовать его в обоих действиях.

+0

Получил эту ошибку: XMLHttpRequest не может загрузить http: // localhost: 54483/BusinessService.svc ... Нет заголовка «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе. Код состояния HTTP 500. Я использую webstorm для интерфейса и визуальной студии для бэкэнд. Я начал службу через сервер IIS. Вы можете мне помочь? –

+1

Ваш API нуждается в заголовках CORS, хотя это может быть просто потому, что это ошибка. Проверьте свои журналы API – Phil

+0

Теперь используйте расширение CORS Chrome. В настоящее время я получаю сообщение об ошибке «Ошибка в конфигурации ресурсов» для «клиентов». Ожидаемый ответ содержит массив, но при вызове метода получает объект. Changin isArray: ложь не помогает. –

Смежные вопросы