2016-08-23 2 views
0

Привет всем Я новичок в угловых js Я хочу получить данные через метод получения с использованием Ресурса Мне нужно построить фабрику ресурсов, но когда я вызываю эту фабрику в контроллере, я получил эту ошибку Ошибка: Users.myUser не определено Пожалуйста, кто-нибудь может сказать, что я сделал неправильно или почему я получаю эту ошибку, вот мой код.using ngResource factory в контроллере показывая ошибку

var Myapp = angular.module('starter.controllers', ['ngResource']) 
    .config(['$resourceProvider', function ($resourceProvider) { 
     $resourceProvider.defaults.stripTrailingSlashes = false; 
    }]); 
    Myapp.factory('Users', function ($resource) { 
    return{ 
     myUser: 
      $resource('some url', {}, { 
      query: { 
       method: 'POST', 
       params: {}, 
       isArray: false 
      } 
     }) 
    }; 
}); 



Myapp.controller('DashCtrl', function ($scope,Users) { 
    Users.myUser.query().$promise.then(function (data) { 
     console.log(JSON.stringify(data, null, 4)); 
    }, function (error) { 
     console.log('Error is: ' + JSON.stringify(error, null, 4)); 
    }); 
}); 

ответ

1

Вы должны вернуть $resource объект из myUser функции фабрики.

Myapp.factory('Users', function($resource) { 
    return { 
    myUser: function() { 
     return $resource('some url', {}, { 
     query: { 
      method: 'POST', 
      params: {}, 
      isArray: false 
     } 
     }); 
    } 
    } 
}); 

Контроллер

Myapp.controller('DashCtrl', function ($scope,Users) { 
    //Call myUser method like below 
    Users.myUser().query().$promise.then(function (data) { 
     console.log(JSON.stringify(data, null, 4)); 
    }, function (error) { 
     console.log('Error is: ' + JSON.stringify(error, null, 4)); 
    }); 
}); 
+0

спасибо за помощь мне я попробовал ваш метод, но я до сих пор получил ту же ошибку здесь мой обновленный код, как указано Вами , –

+0

'Myapp.factory ('Users', function ($ resource) { return { myUser: function() { return $ resource ('http: // localhost: 8012/abhi/public/student', {}, { запроса: { метод: 'POST', PARAMS: {}, IsArray: ложные } });} }; }); ' –

+0

мой контроллер .. Myapp.controller ('DashCtrl' , функция ($ scope, $ state, Users) { Users.myUser.query(). $ prom.then (функция (данные) { console.log (JSON.stringify (данные, null, 4)); }, функция (ошибка) { console.log ('Error is:' + JSON.stringify (ошибка, null, 4)); }); }); –

0

Обновить ваш завод, как показано ниже

Myapp.factory('Users', function ($resource) { 
    function myUser() { 
      return $resource('some url', {}, { 
       query: { 
        method: 'POST', 
        params: {}, 
        isArray: false 
       } 
      }) 
    } 
}); 
+0

Я обновил свой код в соответствии с инструкциями, но у меня все еще есть тот же самый error.here есть мой код'Myapp.factory ('Users', function ($ resource) { function myUser() { return $ resource ('http: // локальный: 8012/абхи/государственный/ученик», {}, { запрос: { метод: 'POST' Титулы: {}, IsArray ложь } });} });' –

+0

Myapp.controller ('DashCtrl', функция ($ scope, $ state, $ http, Users) { Users.myUser.query(). $ Prom.then (функция (данные) { console.log (JSON.stringify (data, null, 4)); }, функция (ошибка) { console.log ('Error is:' + JSON.stringify (ошибка, null, 4)); });}); –

+0

Ребята, пожалуйста, помогите мне с самого начала усложниться для меня –

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