2016-07-24 5 views
0

Versuchen, mit den Daten, die ich erstellt habe, in der db jedoch anmelden, wenn ich den Benutzer & zurück an Call/API/Login-Endpunkt die Netzwerkantwort für diesen Endpunkt ist stecken auf ausstehende Anfrage. Überprüfen Sie die Antwort und zeigen Sie die Nutzdaten an, die ich an Mongo zurücksenden möchte.Post api Endpunkt ausstehende Anforderung auf Dev-Tool

Ich habe versucht, $ q verzögern Versprechen in vm.loginuser Controller, wo der Anruf geschieht, aber ohne Erfolg. Selbst der Postbote kann keinen Login-Prozess machen und bleibt auch bei einer ausstehenden Anfrage hängen.

Angular Ctrl:

vm.loginUser = function() { 
     $http.post('/api/login', vm.userlogin).success(function(response){ 
      console.log('redirect to profile'); 
     }).error(function(error){ 
      console.log('err'); 
     }); 
    }; 

auch wenn ich .then statt .success verwende ich erhalte eine Fehlermeldung "und dann" undefinierte und localhost:3000/[object%20Object] 404 (Not Found)

server.js den Login-Endpunkt nennen:

app.post('/api/login', authController.login); 

Modul: Diese console.log gibt auf cmd zurück, wenn ich den vollen Code verwende, bleibt die API bei ausstehender Anfrage hängen, nicht sicher, ob der Code w ist Rong oder MongoDB dauert nur lange, um mir den Benutzernamen und das Passwort zurückzugeben.

module.exports.login = function (req, res){ 
    res.send('test'); // is okay 
    User.find(req.body, function(err, results){ 
    if(err){ 
     console.log('Fail to login') 
    } 

    if(results && results.lenght ===1){ 
     res.json(req.body.username); 
    } 
}) 
} 

html:

<input type="text" class="form-control" id="username" 
    placeholder="Username" ng-model="vm.userlogin.username"> 

<input type="password" class="form-control" id="exampleInputPassword1" 
    placeholder="Password" ng-model="vm.userlogin.password"> 

<button type="submit" class="btn btn-default" 
    ng-click="vm.loginUser()">Submit</button> 
+0

server ist NodeJS? console.log auf client und serverseiten den Erfolg und die Fehlerreaktion, um zu sehen, warum es passiert. – maleeb

+0

Yeah seine Nodejs, alles ist nur console.logs (Client & Server-Seite), aber keiner von ihnen wird wegen der ausstehenden Anruf zurück. wenn ich eine console.log über HTTP-Anfrage hinzufüge, die zurückkommt, aber alles darunter, kommt nicht zurück. – nCore

+0

hinzugefügt Modul-Code für die Anmeldung in meinem vorherigen Beitrag. – nCore

Antwort

0

Können Sie dies für Ihre Angular Login Aufruf testen

$http.post('/api/login', vm.userlogin) 
.then(function(success) { 

    console.log("SUCCESS"); 
    console.log(success); 

}, function(err) { 

    console.log("ERROR"); 
    console.log(err); 

}) 
.finally(function() { 

    console.log("FINALLY"); 

}); 
+0

ist es ähnlich wie mein Code, aber was Ich fand, ist, wenn ich den vollen Code in meinem Modul.exports verwende, das ist, wo der Anruf bei ausstehenden hängen bleibt, sehen meine edit oben. Nicht sicher, ob mongoDB die Objs für immer zurücknimmt oder der Code falsch ist, aber es kam von einem Tutorial, das gut funktionierte. – nCore

Verwandte Themen