Ich bin sehr neu in AngularJS. Ich suche nach Zugriff auf Dienste über die RESTful-API, habe aber keine Ahnung. Wie kann ich das machen?
quelle
Ich bin sehr neu in AngularJS. Ich suche nach Zugriff auf Dienste über die RESTful-API, habe aber keine Ahnung. Wie kann ich das machen?
AngularJS bietet den $http
Dienst , der genau das tut, was Sie möchten: AJAX-Anforderungen an Webdienste senden und Daten von diesen mithilfe von JSON empfangen (ideal für die Kommunikation mit REST-Diensten).
Um ein Beispiel zu geben (aus der AngularJS-Dokumentation entnommen und leicht angepasst):
$http({ method: 'GET', url: '/foo' }).
success(function (data, status, headers, config) {
// ...
}).
error(function (data, status, headers, config) {
// ...
});
Bitte beachten Sie, dass es auch ein anderen Dienst in AngularJS, der $resource
Service , die den Zugang zu REST - Service in einer High-Level - Mode (auch hier beispielsweise aus AngularJS Dokumentation entnommen) sieht vor :
var Users = $resource('/user/:userId', { userId: '@id' });
var user = Users.get({ userId: 123 }, function () {
user.abc = true;
user.$save();
});
Darüber hinaus gibt es auch Lösungen von Drittanbietern wie Restangular . Informationen zur Verwendung finden Sie in der Dokumentation . Im Grunde ist es viel aussagekräftiger und abstrahiert mehr Details von Ihnen.
Der $ http- Dienst kann für AJAX für allgemeine Zwecke verwendet werden. Wenn Sie über eine ordnungsgemäße RESTful-API verfügen, sollten Sie sich ngResource ansehen .
Sie können sich auch Restangular ansehen , eine Bibliothek von Drittanbietern, mit der Sie REST-APIs einfach handhaben können.
quelle
Willkommen in der wundervollen Welt von Angular!
Es gibt zwei (sehr große) Hürden beim Schreiben Ihrer ersten Angular-Skripte, wenn Sie derzeit 'GET'-Dienste verwenden.
Erstens müssen Ihre Dienste die Eigenschaft "Access-Control-Allow-Origin" implementieren. Andernfalls funktionieren die Dienste, wenn sie beispielsweise von einem Webbrowser aufgerufen werden, aber beim Aufrufen von Angular kläglich fehlschlagen.
Sie müssen Ihrer web.config- Datei also einige Zeilen hinzufügen :
Als Nächstes müssen Sie Ihrer HTML-Datei ein wenig Code hinzufügen, um Angular zu zwingen, 'GET'-Webdienste aufzurufen:
Sobald Sie diese Korrekturen vorgenommen haben, ist das Aufrufen einer RESTful-API wirklich unkompliziert.
Eine wirklich klare Anleitung für diese Schritte finden Sie auf dieser Webseite:
Verwenden von Angular mit JSON-Daten
Viel Glück !
Mike
quelle
Access-Control-Allow-Origin
sollte niemals ein Platzhalter sein, es sei denn, Sie sind eine öffentlich zugängliche API ...Nur um
$http
(Verknüpfungsmethoden) hier zu erweitern: http://docs.angularjs.org/api/ng.$http// Ausschnitt von der Seite
// verfügbare Verknüpfungsmethoden
quelle
Zum Beispiel sieht Ihr JSON folgendermaßen aus: {"id": 1, "content": "Hallo Welt!"}
Sie können über Winkel wie folgt darauf zugreifen:
Dann würden Sie es auf Ihrem HTML so machen:
Dies ruft das CDN für anglejs auf, falls Sie sie nicht herunterladen möchten.
Hoffe das hilft.
quelle