2016-05-22 5 views
0

ich bin versuchen Token als nächstes in next zu überprüfen, aber ich bin immer Fehler:

TypeError: next.localStorage is not a function 

APP.JS

.run(function ($rootScope, $location,$log,User) { 

    $rootScope.$on("$locationChangeStart", function (event,next, current,jwtHelper) { 

     if(next.localStorage("id_token")){ 

       console.log("true"); 

     }else{ 

      console.log("false"); 
     } 
     /* 

    }); 
+0

Unabhängig davon, Argumente .... localStorage ist ein Fensterobjekt und Sie nennen es nicht direkt als Funktion. Warum denkst du, dass "Next" localStorage-Eigenschaft haben sollte, die in erster Linie eine Funktion ist? Gibt es etwas in deiner Routenkonfiguration dafür? – charlietfl

Antwort

0

Die AngularJS Dokumentation der zweite Parameter zeigt "newUrl" als Zeichenfolge.

https://docs.angularjs.org/api/ng/service/ $ location

angularEvent: Objekt. Synthetisches Ereignisobjekt

neuUrl: string. Neue URL

oldUrl: Zeichenfolge (optional). URL, die vor der Änderung vorhanden war

newState: Zeichenfolge (optional). Neuer Historienstatus

oldState: Zeichenfolge (optional). History-Statusobjekt, das vorher war, wurde geändert.

Ihr Code versucht, so etwas zu tun:

if("http://www.app.com/path".localStorage("id_token")){ 

localstorage ist ein Objektfenster und sollte auf allen Seiten geteilt werden, so dass Sie es mit zugreifen:

if(window.localStorage.getItem("id_token")){ 
+0

sollte 'localStorage.getItem (" id_token ")' oder 'localStorage.id_token' sein – charlietfl