2017-01-16 6 views
0

Ich versuche, Daten aus der REST-API abzurufen, aber die Ergebnisse sind leer.Aufruf der REST-API in Angular JS funktioniert nicht

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; 
     }); 
}); 

Ausgang:

The ID is 

The content is 

ID und Inhalt fehlt noch . Irgendwelche Hilfe bitte?

Bearbeiten: (FIX) Problem war mit einem Plugin im Browser installiert, die Web-Service nicht zulassen. Danke an alle.

+0

zugreifen, werden Sie Fehler in der Konsole zu bekommen? – Claies

+0

das ist Code funktioniert hier ganz gut: http://plnkr.co/edit/iufKaW1hfHUXzYOWd1b9?p=preview. Das Problem muss etwas mit Ihrer Umgebung zu tun haben oder etwas, das Sie hier nicht zeigen. – Claies

+0

'angular.module ('demo', []) .controller ('Hallo', Funktion ($ scope, $ http) { $ http.get ('http://rest-service.guides.spring.io ./Gruß ') dann (function (Antwort) { $ scope.greeting = response.data; }, Funktion (Fehler) { console.log (Fehler); }; }); ' Try dies und inspizieren den fehler auf der browser konsole. wenn es keinen fehler gibt, dann müssen sie die api return data property überprüfen. –

Antwort

0

Ich habe versucht, Ihren Code in meinem lokalen ausführen. Ich beobachtete, dass wenn Sie http von https in Ihrer Anfrage ersetzen, wird es nicht funktionieren. Versuchen Sie, dies aus dem Dateiprotokoll in Ihrem Browser auszuführen, und es funktioniert wie auf dem Bild gezeigt. enter image description here

Auch die von Ihnen erwähnte API funktioniert jetzt über HTTPS.

0

Nun Scheint, wie Ihre api Rückkehr folgende Antwort: { "id": 879, "content": "Hallo, Welt" }

try response.content Holen für die Nachrichten

0

Bearbeiten Sie Ihre Controller mit folgenden ein

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(); 
    }); 
Verwandte Themen