loginService.islogged()
La fonction ci-dessus renvoie une chaîne du type "en échec" . Cependant, lorsque j'essaie de l'exécuter, cette fonction renvoie une erreur de
TypeError: Cannot read property 'then' of undefined
et le curseur est indiqué juste après connected
et avant .then
.
Ci-dessous, la fonction complète:
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');
});
METTRE À JOUR
Voici la fonction 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;
});
}
Je suis certain que le $checkSessionServer
entraînera une chaîne "en échec". Rien de plus.
Vous devez retourner votre promesse à la fonction appelante.
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: Impossible de lire la propriété 'then' de non définie lors de l'appel d'un service Django à l'aide d'AngularJS.
Si vous appelez un service Python, le code ressemblera à celui ci-dessous:
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
}
Nous utilisons MongoDB comme base de données (je sais que ce n'est pas grave. Mais si quelqu'un effectue une recherche avec MongoDB + Python (Django) + AngularJS, le résultat devrait apparaître.