2016-08-09 3 views
0

У меня есть одна услуга, как показано нижеПолучение данных Promise в ответ на Angularjs

getServices.js

angular 
    .module('adminsuite') 
    .service('getAllSurveyService', getAllSurveyService); 
    getAllSurveyService.$inject = ['$http', '$cookieStore', '$rootScope', '$timeout', '$q']; 
    function getAllSurveyService($http,$cookieStore,$rootScope,$timeout,$q){ 
     var deferred = $q.defer(); 
     var session = $cookieStore.get('globals'); 
     var data = { 
      sessionId : session.currentUser.session 
     } 
     var surveyData = { 
      'Data' : JSON.stringify(data) 
     } 
     var requestData = JSON.stringify(surveyData) 
     //console.log(requestData); 

     this.surveyList = function() { 
      //return session; 
      return $http.post('http://apidev.1pt.mobi/V3.0/api/Survey/Surveys', requestData, {headers: { 'Content-Type': 'application/json'}}) 
      .then(function(response){ 
         var sendData = deferred.resolve(response.data); 
         //console.log(JSON.stringify(response.data)); 
         return response.data; 
        }, function(error){ 
         return error; 
        }); 
     } 

    }; 

Ниже контроллера я использую для извлечения данных

controller.js

angular.module("adminsuite").controller("surveyController",['getAllSurveyService', '$scope', function(getAllSurveyService, $scope){ 
    $scope.header = "Header"; 
    $scope.allSurveys = getAllSurveyService.surveyList(); 
    console.log($scope.allSurveys); 
    //console.log($scope.getSession); 
}]); 

В консоли я получаю ответ, как этот Image for console data reference

После этого пытаюсь получить данные внутри объекта обещают, но не могу принести что.

ответ

2

getAllSurveyService.surveyList() возвращение обещание, так что вам нужно, чтобы получить данные, как это (в контроллере):

getAllSurveyService.surveyList().then(
    function(data) { 
     $scope.allSurveys = data; 
     console.log($scope.allSurveys); 
    } 
); 
Смежные вопросы