loginService.islogged()
Obige Funktion gibt eine Zeichenfolge wie "failed" zurück Wenn ich jedoch versuche, die Funktion auszuführen, wird eine Fehlermeldung ausgegeben
TypeError: Cannot read property 'then' of undefined
und der Cursor steht direkt hinter connected
und vor .then
.
Unten ist die volle Funktion:
var connected=loginService.islogged();
alert(connected);
connected.then(function(msg){
alert("connected value is "+connected);
alert("msg.data value is "+msg.data);
if(!msg.data.account_session || loginService.islogged()=="failed")
$location.path('/login');
});
AKTUALISIEREN
Hier ist die Funktion islogged()
islogged:function(){
var cUid=sessionService.get('uid');
alert("in loginServce, cuid is "+cUid);
var $checkSessionServer=$http.post('data/check_session.php?cUid='+cUid);
$checkSessionServer.then(function(){
alert("session check returned!");
console.log("checkSessionServer is "+$checkSessionServer);
return $checkSessionServer;
});
}
Ich bin sicher, dass der $checkSessionServer
eine "fehlgeschlagene" Zeichenfolge ergibt. Nichts mehr.
Sie müssen Ihr Versprechen an die aufrufende Funktion zurückgeben.
islogged:function(){
var cUid=sessionService.get('uid');
alert("in loginServce, cuid is "+cUid);
var $checkSessionServer=$http.post('data/check_session.php?cUid='+cUid);
$checkSessionServer.then(function(){
alert("session check returned!");
console.log("checkSessionServer is "+$checkSessionServer);
});
return $checkSessionServer; // <-- return your promise to the calling function
}
TypeError: Die Eigenschaft "dann" von undefined kann nicht gelesen werden, wenn ein Django-Service mit AngularJS aufgerufen wird.
Wenn Sie einen Python-Dienst aufrufen, sieht der Code wie folgt aus:
this.updateTalentSupplier=function(supplierObj){
var promise = $http({
method: 'POST',
url: bbConfig.BWS+'updateTalentSupplier/',
data:supplierObj,
withCredentials: false,
contentType:'application/json',
dataType:'json'
});
return promise; //Promise is returned
}
Wir verwenden MongoDB als Datenbank (ich weiß, es ist egal. Aber wenn jemand mit MongoDB + Python (Django) + AngularJS sucht, sollte das Ergebnis kommen.