5
當用戶驗證時,客戶端在result
中獲取home.html
的頁面內容,而不是重定向到home.html
。
客戶端調用:
$http({
method: "post",
url: "http://localhost:2222/validateUser",
data: {
username: $scope.username,
password: $scope.password
}
}).then(function (result) {
if (result.data && result.data.length) {
alert('User validated');
} else {
alert('invalid user');
}
});
服務器端控制器的方法:
module.exports.validateUser = function (req, res) {
User.find({ 'username': req.body.username, 'password': req.body.password }, function (err, result) {
if (result.length) {
req.session.user = result[0]._doc;
res.redirect('/home');
}else{
res.json(result);
}
});
};
路線在app.js:
app.get('/home', function (req, res) {
var path = require('path');
res.sendFile(path.resolve('server/views/home.html'));
});
試試這個:res.redirect(path.resolve( '服務器/視圖/ home.html做爲')); –
你不能從AJAX做瀏覽器重定向。你需要檢查它是否應該重定向,並在客戶端進行。 –
在客戶端上移動重定向邏輯真的是一個好習慣嗎,並且沒有相同的解決方法嗎? – Shreyas