TypeError: kan eigenschap ‘then’ van undefined niet lezen

Bovenstaande functie retourneert een tekenreeks zoals “mislukt”.
Wanneer ik echter probeer om het vervolgens uit te voeren, zal het de fout van

. retourneren

TypeError: Cannot read property 'then' of undefined

en de cursor wordt aangegeven direct na connecteden voor .then.

Hieronder staat de volledige functie:

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');
});

UPDATE

Hier is de functie 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;
    });
}

Ik ben er zeker van dat de $checkSessionServerzal resulteren in een “mislukte” string. Niets meer.


Antwoord 1, autoriteit 100%

U moet uw belofte aan de belfunctie teruggeven.

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
}

Antwoord 2, Autoriteit 2%

TypeError: Kan onroerend goed niet lezen ‘dan niet gedefinieerd bij het bellen van een Django-service met behulp van Angularjs.

Als u een Python-service belt, ziet de code eruit als volgt:

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 
}

We gebruiken MongoDB als de database (ik weet dat het er niet toe doet, maar als iemand op zoek is naar MongoDB + Python (Django) + Angularjs het resultaat zou moeten komen.

Other episodes