从$ http获取来自单独服务文件的$ scope中的数据

时间:2015-11-27 15:31:34

标签: javascript angularjs

我遇到了服务电话的问题。我想将所有get请求放在一个单独的服务文件中。它正在工作,我在.then函数的角度控制器中接收数据。但我不知道如何将函数中的数据导入我的范围。函数中的Console.log向我显示了该对象。 Console.log外部函数向我展示了整个承诺。我怎么能把它拿到外面?我究竟做错了什么?

我的Service.js

app.service('mamiService',  ['$http','toaster', '$q', '$filter', function( $http, toaster, $q, $filter) {
/GET THE EMAIL TEMPLATES
this.getTexts = function () {
return $http.get('includes/php/getMongoTexts.php')
            .then(function(response) {
            return response;
            });
};
}]);

我在控制器中的功能:

var receivedData = mamiService.getTexts().then(function(response){
          var newData = response.data;
          console.log(newData);
          return newData;
          });
console.log(receivedData);

console(newData)向我显示包含所有数据的对象。 console(receivedData)整个承诺对象。我只想将数据返回$scope

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。只需确保将数据附加到.then

中的$ scope
mamiService.getTexts().then(function(response){
  $scope.receivedData = response.data;
  ...