loginService.islogged()
La función anterior devuelve una cadena como "fallida". Sin embargo, cuando intento ejecutar y luego funcionar en él, devolverá el error de
TypeError: Cannot read property 'then' of undefined
y el cursor se indica justo después connectedy antes .then.
A continuación se muestra la función completa:
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');
});
ACTUALIZAR
Aquí está la islogged()función
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;
});
}
Estoy seguro de que el $checkSessionServerresultado será una cadena "fallida". Nada mas.
javascript
angularjs
promise
Ezeewei
fuente
fuente

promiseaquí.msg- eso debería devolver una promesa.undefined, enislogged()realidad no esreturnun valor. La definición deislogged()probablemente sería la fuente de sus problemas.Respuestas:
Debe devolver su promesa a la función de llamada.
fuente
return $http.post. Tan pronto como he añadido el prefijoreturna$http, que comenzó a trabajar correctamente.returntambién.TypeError: no se puede leer la propiedad 'luego' de undefined al llamar a un servicio Django usando AngularJS.
Si está llamando a un servicio de Python, el código se verá a continuación:
Estamos usando MongoDB como base de datos (sé que no importa. Pero si alguien está buscando con MongoDB + Python (Django) + AngularJS, el resultado debería aparecer.
fuente