2017-01-16 2 views
0

Я пытаюсь извлечь данные из REST API, но он запустит.Вызов API REST в Angular JS не работает

index.html

<html ng-app="demo"> 
    <head> 
     <title>Hello AngularJS</title> 
     <script src="jquery.min.js"></script> 
     <script src="angular.min.js"></script> 
     <script src="hello.js"></script> 
    </head> 

    <body> 
     <div ng-controller="Hello"> 
      <p>The ID is {{greeting.id}}</p> 
      <p>The content is {{greeting.content}}</p> 
     </div> 
    </body> 
</html> 

hello.js

angular.module('demo', []) 
.controller('Hello', function($scope, $http) { 
    $http.get('http://rest-service.guides.spring.io/greeting'). 
     then(function(response) { 
      $scope.greeting = response.data; 
     }); 
}); 

выход:

The ID is 

The content is 

ID и содержание до сих пор отсутствует , Любая помощь, пожалуйста?

Редактировать: (FIX) Проблема заключалась в установке плагина в браузере, который не разрешал веб-службу. Всем спасибо.

+0

вы получаете какие-либо ошибки в консоли? – Claies

+0

Это код работает очень хорошо здесь: http://plnkr.co/edit/iufKaW1hfHUXzYOWd1b9?p=preview. Проблема должна быть чем-то связана с вашей средой или чем-то, что вы здесь не видите. – Claies

+0

'angular.module ('demo', []) .controller ('Hello', function ($ scope, $ http) { $ http.get ('http://rest-service.guides.spring.io ./приветствие ') затем (функция (ответ) { $ scope.greeting = response.data; }, функция (ошибка) { console.log (ошибка); }; }); ' Попытка это и проверить ошибку на консоли браузера.если нет ошибки, тогда вам нужно проверить свойство возвращаемых данных api. –

ответ

0

Я попытался запустить код в своем локальном. Я заметил, что если вы замените http из https в запросе, он не будет работать. Попробуйте запустить это из протокола файлов в вашем браузере, и он будет работать, как показано на рисунке. enter image description here

Также упоминаемый вами api теперь работает над HTTPS.

0

Ну Похоже, ваш апи вернуться следующий ответ: { "ID": 879, "содержания": "Hello, World!" }

попытка извлечения response.content для доступа сообщение

0

Редактировать контроллер со следующими один

angular.module('demo', []) 
.controller('Hello', 
    function ($scope, $http) { 

     var callMethod = function() { 
      $http.get('http://rest-service.guides.spring.io/greeting') 
       .then(function(response) { 
         $scope.greeting = response.data; 
         alert($scope.greeting.id); 
         alert($scope.greeting.content); 
        }, 
        function(error) { 
         console.log(error); 
        }); 
     } 

     callMethod(); 
    }); 
Смежные вопросы