2017-08-24 140 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