未知提供者:callbackProvider< - 回调

时间:2017-05-07 18:29:51

标签: html angularjs callback angular-services angular-controller

我长时间坚持使用这段代码并应用网上可用的所有补丁但是没有找到有效的补丁。从控制器调用服务时仍然出错。 这里的代码是

<HTML ng-app="myApp">
<body ng-controller = "myCtrl">
    <div>{{me}}</div>
</body>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
    <script>

         var app = angular.module('myApp',[])

        app.controller('myCtrl',function($scope,myService){
            myService.getx(function(data){
            console.log(data);
            $scope.me = "data"; 
            });

        });

        </script>
        <script>
        app.service('myService',function($http,callback){
        this.getx= function(){
                 return $http({
                method: "GET",

                url: "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.js"
              }).then(function (response) {
                      console.log(response)
                     return callback(response);
                 }, function (error) {
                     throw error;
                     console.log("Error",error)
                 });

        }

        });

    </script>
</HTML>

1 个答案:

答案 0 :(得分:0)

我会像这样重写它:

APP CTRL:

 var app = angular.module('myApp',[])

 app.controller('myCtrl',function($scope,myService){
   myService.getx()
     .then(
     function(data){ //handle the $http promise here
       console.log(data);
       $scope.me = "data"; 
     },
     function(err){
       console.log('error:' + err);
     });

 });

<强> SERVICE:

app.service('myService',function($http){
  return {
    getx: function() {  
     return $http({  //the $http returns a promise
       method: "GET",
       url:"https://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.js"
       });
    }
  }
});