Получить получить ответ http угловой

0

Я начинаю с угловатым, и я хочу получить http получить ответ URL (http://myurl.com), чтобы сделать после некоторых манипуляций.

Я проверяю это, но результата нет:/

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

app.factory('myService', function($http) {
  return {
    async: function() {
     return $http.get('http://apibuilder-apidiscovery.kermit.rd.francetelecom.fr/infrastructures/16857');
    }
  };
});

app.controller('MainCtrl', function( myService,$scope) {
  myService.async().then(function(d) { //2. so you can use .then()
    $scope.data = d;
  });
});

HTML

<body>
    <div ng-controller="MainCtrl">
        Data: {{data}}<br>
    </div>
</body>

Огромное спасибо.

Теги:

2 ответа

1

Назначение данных должно быть $scope.data = d.data;

контроллер

app.controller('MainCtrl', function( myService,$scope) {
  myService.async().then(function(d) { //2. so you can use .then()
    $scope.data = d.data;
  }, function(error){
     console.log('Error occured');
  });
});

Также обратите внимание, что если вы пытаетесь сделать вызов во внешний домен, CORS должен быть включен. Кроме того, вам может потребоваться передать заголовки автозавершения в запросе.

0

script.js

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

app.factory('myService', function($http,$q) {

    var myService = {
        async : async,
    };
    return myService;

    function async() {
        var d = $q.defer();
        $http({
            method: 'GET',
            url: 'http://apibuilder-apidiscovery.kermit.rd.francetelecom.fr/infrastructures/16857',
            headers: {
                "Content-Type": "text/plain",
                // you can add headers here
            }
        }).then(function(reply) {
            d.resolve(reply.data);
        }, function(error) {
            d.reject(error.data);
        });
        return d.promise;
    }

});

app.controller('MainCtrl', function(myService, $scope) {

  myService.async()
    .then(function(result) {
        $scope.data = result;
  });

});

и индексный файл,

<!DOCTYPE html>
<html>

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <script src="script.js"></script>
  </head>

  <body ng-app="plunker" ng-controller="MainCtrl">
    Data: {{data}}<br>
  </body>

</html>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню