由於某種原因,我無法重定向到/博客,一旦我的登錄完成。在我的登錄控制器中,我有以下內容。res.redirect from POST
module.exports = {
post: function(req, res) {
var login = req.body['login'];
if (login && req.body['login']['password'] == "password") {
console.log('Granted access');
res.send({redirect: '/blog'});
}
else {
console.log('wrong password');
res.redirect('back');
}
}
};
jQuery的AJAX
$(document).ready ->
$('#login-button').click() ->
$.ajax
url: '/login'
type: 'POST'
data: $('#Password').serialize()
dataType: 'json'
success: (data, textStatus, jqXHR) ->
if typeof data.redirect == 'string'
window.location = data.redirect
更新工作代碼
你能告訴我們到底是什麼做的?你會得到什麼響應代碼?首先,您需要在初始應用程序加載期間設置中間件('app.use(express.bodyParser())'),而不是在每個請求過程中。 – 2012-07-20 00:51:37
我更新了它。我沒有得到任何迴應,我有app.use(express.bodyParser())在我的應用程序加載server.js – lostAstronaut 2012-07-20 01:01:38
您正在生成200響應代碼,所以你必須得到一個響應,也許與一個儘管空的身體。你確定登錄控制器的'post'函數被調用嗎?你看到那些'console.log'語句的輸出嗎?鑑於你的if/else,在任何情況下你都調用'res.redirect',所以你應該得到一個301響應代碼。這導致我相信它是完全不同的路由處理程序,它正在響應請求。 – 2012-07-20 02:09:57