Donc, dans la page de connexion, j'envoie des informations d'identification d'angulaire à exprimer via une requête get. fonction de réponse d'erreur angulaire mais mon code ne fonctionne pas.
Contrôleur angulaire:
myapp.controller('therapist_login_controller', ['$scope' ,'$localStorage','$http',
function ($scope, $localStorage,$http) {
$scope.login=function(){
console.log($scope.username+$scope.password);
var data={
userid:$scope.username,
password:$scope.password
};
console.log(data);
$http.post('/api/therapist-login', data)
.then(
function(response){
// success callback
console.log("posted successfully");
$scope.message="Login succesful";
},
function(response){
// failure callback,handle error here
$scope.message="Invalid username or password"
console.log("error");
}
);
}
}]);
APP.js:
app.post('/api/therapist-login',therapist_controller.login);
Manette:
module.exports.login = function (req,res) {
var userid=req.body.userid;
var password=req.body.password;
console.log(userid+password);
Credentials.findOne({
'userid':[userid],
'password':[password]
},function(err,user){
if(!user){
console.log("logged err");
res.status(404);//Send error response here
enter code here
}else{
console.log("login in");
//
}
});
}
Dans Node, vous pouvez utiliser res.status()
pour envoyer l'erreur:
return res.status(400).send({
message: 'This is an error!'
});
Dans Angular, vous pouvez l'attraper dans la réponse à la promesse:
$http.post('/api/therapist-login', data)
.then(
function(response) {
// success callback
console.log("posted successfully");
$scope.message = "Login succesful";
},
function(response) {
// failure callback,handle error here
// response.data.message will be "This is an error!"
console.log(response.data.message);
$scope.message = response.data.message
}
);
Ou utilisez une instance de la classe Error
response.status(code).send(new Error('description'));