2016-11-15 4 views
0

ich eine PHP-Datei, die auf Basis von einer $ http Post json Ergebnis liefert wie hier zu sehen:store json Wert als Session in Winkel

json result:

jetzt, unten in meinem Controller, ich will 03-1314-00916 speichern oder data[0]['student_number'] als eine Sitzung in eckigen, so dass ich es überall in einem meiner Controller verwenden kann. Wie werde ich es schaffen?

app.controller('signInCtrl', function($scope, $stateParams, $http) { 
 
    $scope.txtUsername = ''; 
 
    $scope.txtPassword = ''; 
 

 
    $scope.signIn = function(){ 
 
    $http.post('http://infoyon_login.php', 
 
     {'username' : this.txtUsername, 'password': this.txtPassword}) 
 
    .success(function(data){ 
 
     if(data[0]['logged'] === true) 
 
     { 
 
     $scope.unable = false; 
 
     console.log(data[0]); 
 
     console.log(data[0]['student_number']); 
 
    here --> someSessionVar = data[0]['student_number'];  
 
     //window.location = '#/app/dashboard'; 
 
     }else{ 
 
     //console.log('unable to login'); 
 
     $scope.unable = true; 
 

 
     } 
 
     //console.log(data[0]['logged']); 
 
    }) 
 
    } 
 
}) //end controller

+0

Verwenden Sie sessionStorage(). aus HTML5 setItem ('Schlüssel', Wert); – Rishabh

Antwort

0

Verwenden HTML5 session

if(data[0]['logged'] === true) 
    { 
    $scope.unable = false; 
    console.log(data[0]); 
    console.log(data[0]['student_number']); 
    sessionStorage.setItem('student_number', data[0]['student_number']);  
    //window.location = '#/app/dashboard'; 
    } 

Um

$scope.studentNumber = sessionStorage.getItem('student_number'); 
+0

Danke! Lebensretter! – BlondePainter

0

abrufen Sie werden einen Dienst erstellen möchten. Wenn Sie benötigen, dass es vorhanden ist, bevor die Seite aufgelöst wird, sollten Sie diesen Dienst innerhalb einer $route.resolve()-Funktion aufrufen, die Sie zu Ihrer $routeProvider-Logik hinzufügen. Was die Methode betrifft, können Sie die Webspeicher-API wie in der ersten Antwort beschrieben verwenden, oder wenn es sich um einen kritischen Teil der Anwendung handelt, können Sie sie unter $rootScope speichern. Vorbehalt: Andere Kommentatoren stimmen dieser Option möglicherweise nicht zu, aber es gibt tatsächlich eine Zeit und einen Ort, an dem sie verwendet werden können: $rootScope.