2017-08-24 84 views
0

我正在创建一个节点JS API(ES6),该应用使用的是谷歌Firebase的auth db等。 我试图发送客户端回应我们有一个错误,像一个无效的密码我搜索了一下,我尝试了一些人说,没有成功的东西。错误响应节点js api

编辑:

我已编辑的路线,以便它会像 现在得到的错误反应,但不与我在路由文件发送

响应文本我有:

app.route('/signin') 
.post(auth.SignIn , function(req ,res) { 
}); 
在控制器上

我:

exports.SignIn = function(req, res) { 
    var email = req.body.email; 
    var password = req.body.password; 

    console.log(req.body.email + " - Attempting To SignIn"); 

    firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) { 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    console.log(errorCode + " - " + errorMessage); 
    res.send(error.message); 
    }); 

    console.log(email + " - Is Signed In - "); 
} 

在客户端上:

$("#signinform").submit(function(event) { 
    alert("test"); 
    /* stop form from submitting normally */ 
    event.preventDefault(); 
    var formData = { 
     'email': $('input[name=ident]').val(), 
     'password': $('input[type=password]').val() 
    }; 


    $.ajax({ 
     type: 'POST', 
     url: "http://localhost:3000/signin", 
     data: formData, 
     success: function(res){ 
     alert(res); 
     }, 
     error: function(res){ 
     alert(res); 
     } 
    }); 

    }); 

当登录不正确,我从该行获得node.js的控制台上的错误:

console.log(errorCode + " - " + errorMessage); 

如果任何人知道如何解决这个问题我会非常开心:) 谢谢。

+0

夫妇的事情,我注意到,你是不是处理'firebase.auth()signInWithEmailAndPassword'的成功部分承诺发回'res.sendStatus (200)',从我所能看到的,你应该得到'console.log(email +“ - 被签入 - ”);'(因为它会执行它,无论登录发生什么)。 你可能会发布你收到的实际错误信息吗?可能只是一个无效的登录尝试错误 – wjvander

+0

console.log(电子邮件+“ - 被签入 - ”);真的没关系,因为我想把错误发送回客户端,输出到节点js console的客户端,而不是客户端 的实际错误 的console.log(errorCode +“ - ”+ errorMessage);正在将其打印到节点js控制台,它将是: auth/invalid-email - 电子邮件地址格式不正确。 或类似的东西 我只是想发送这个文本回到客户端html/js页面 – user3903576

回答

-3

也许你可以解决它想:

app.post('/signin',SignIn(req,res)) 
+0

我已经添加了那样的:app.route('/ signin') .post(auth.SignIn,function(req, res.error +“”+ res) }); 现在我得到一个错误响应,但没有发送我发短信的文本 – user3903576