$ http Beitrag in Angular.js
Ich habe gerade angefangen zu lernen Angular.js. Wie kann ich re-schreiben Sie den folgenden code in Angular.js?
var postData = "<RequestInfo> "
+ "<Event>GetPersons</Event> "
+ "</RequestInfo>";
var req = new XMLHttpRequest();
req.onreadystatechange = function () {
if (req.readyState == 4 || req.readyState == "complete") {
if (req.status == 200) {
console.log(req.responseText);
}
}
};
try {
req.open('POST', 'http://samedomain.com/GetPersons', false);
req.send(postData);
}
catch (e) {
console.log(e);
}
Hier ist, was ich habe, so weit -
function TestController($scope) {
$scope.persons = $http({
url: 'http://samedomain.com/GetPersons',
method: "POST",
data: postData,
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).success(function (data, status, headers, config) {
$scope.data = data; //how do pass this to $scope.persons?
}).error(function (data, status, headers, config) {
$scope.status = status;
});
}
html
<div ng-controller="TestController">
<li ng-repeat="person in persons">{{person.name}}</li>
</div>
Bin ich in die richtige Richtung?
InformationsquelleAutor der Frage tempid | 2013-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrer aktuellen Funktion, wenn Sie die Zuordnung
$scope.persons
zu$http
was ist ein promise-Objekt als$http
gibt ein promise-Objekt.Also anstelle von zuweisen
scope.persons
$http, die Sie zuordnen sollten$scope.persons
im inneren der Erfolg der$http
wie unten erwähnt:InformationsquelleAutor der Antwort Ajay Beniwal
Hier ist eine variation der Lösung gegeben, die durch Ajay beni. Mit der Methode dann erlaubt Kette mehrere verspricht, da die dann gibt ein neues Versprechen.
InformationsquelleAutor der Antwort jpmorin
$http:
AngularJS: API: $http
Umsetzung Beispiel:
Können diese brechen: Url ist ein wenig offensichtlich, so überspringen wir, dass...
Daten: Dies ist der Inhalt von Ihrem Briefträger Anfrage
config: Dies ist, wo können wir injizieren Header, event-Handler, caching... siehe AngularJS: API: $http: Bildlauf nach unten in der config Header sind die häufigsten Postbote Variante von http, die Menschen kämpfen sich zu replizieren in angularJS
Antwort: der $http-Aktionen Rückkehr eine eckige Versprechen, ich empfehle die Verwendung .dann(successFunction, errorFunction) zu verarbeiten, die Versprechen sehen AngularJS: Der Deferred API (Versprechen)
InformationsquelleAutor der Antwort Chris Schaller