Ich versuche, ein Objekt aus einer $ rootScope-Funktion namens retrieveUser() in AngularJS zurückzugeben. Das Objekt wird zurückgegeben. Ich habe console.log() auf die Antwort der Funktion ausgeführt, wenn $ http erfolgreich ist. Hier ist meine $ rootScope Funktion:
$rootScope.retrieveUser = function() {
var apiUrl = "http://104.251.218.29:8080";
if($cookies.get('tundraSessionString')) {
var cookie = $cookies.get('tundraSessionString');
$http({
method: "POST",
url: apiUrl + "/api/master/v1/auth/checkauth",
data: "sessionString=" + cookie,
headers: {
'Content-Type' : 'application/x-www-form-urlencoded;',
'Cache-Control': 'no-cache'
}
}).then(function mySuccess(response) {
if(response.data.event == "error") {
window.location = "/auth/logout";
} else {
return response.data;
}
})
} else {
window.location = "/auth/login";
}
};
Mit dieser Methode ich zugreifen es in meinem Controller wie diese (und console.log() nur meine Arbeit zu testen):
vm.user = $rootScope.retrieveUser();
console.log($rootScope.retrieveUser());
Aber, Ich muss das noch zur Arbeit bringen. Ich habe versucht, bestimmte Objekte in einem Array in meiner $ rootScope-Funktion anzugeben. Ich weiß, dass es läuft, weil ich das $ rootScope etwas trösten muss, wenn es ausgeführt wird, und es zeigt eine console.log() der Antwort der $ http Anfrage. Es sieht wie folgt aus:
Object {event: "success", table: Object}
event:"success"
table:Object
__proto__:Object
Doch wenn ich() die vm.user mit der Funktion $ rootScope.retrieveUser() console.log, auch wenn die Funktion die lösende Aufgabe soll zurückkehren, habe ich einfach erhalten "nicht definiert".
Ich habe seit Tagen meinen Kopf auf diesen Kopf geschlagen, lesen Sie einige Artikel über Funktionen/Objekte und ich kann immer noch nicht herausfinden. Wir sind zwei Tage in.
Das funktionierte! Ich werde daran erinnern nutze ab sofort die Verspre- chungsmethode Ich bin neu bei Angular Erste App die ich gebaut habe Aber ich bin ziemlich weit gekommen ohne einen Schluckauf Danke für die Hilfe! –