0
我正在使用MEAN堆棧在Node中創建登錄腳本。目前我可以搜索數據庫並找到用戶。然而,我找到用戶後,我試圖打開一個鏈接到索引頁面,但是當我的代碼執行什麼都沒有發生。有誰知道如何通過路線打開鏈接?如何使用Express和AngularJS使用請求打開新鏈接
client.js
var app = angular.module('myApp',[]);
app.controller('loginController',function($scope,$http) {
$scope.login = function(username,password) {
var objectJson = {'username':username,'password':password};
$http.post('/loginRequest',objectJson).success(function(response) {
console.log("response: "+response);
});
};
});
server.js
// Listen for Seach collection request
router.post('/loginRequest', function (req, res, next) {
var databaseName = "DB", collection = "Accounts";
var username = req.body.username, password = req.body.password;
var db = new Db(databaseName, new Server('localhost', 27017));
db.open(function (err, db) {
//var cursor = db.collection(collection).find({ "username":username,"password": password });
// cannot apply cursor methods to the result of findOne() because a single document is returned.
db.collection(collection).findOne({ "username": username, "password": password }, function (err, doc) {
assert.equal(null, err);
if (doc != null) {
console.log("Found");
res.render('index', { title: 'Home Page', message: 'Message'});
}
db.close();
});
});
});
如何我只要打開網頁玉,而不是寫出來的代碼location.href = 「/」 的; – John
什麼?我認爲你真的在這裏混合關注...你需要使用location.href重定向到記錄的路徑。同樣重要的是要注意,你從來沒有在會話中保存「記錄」狀態,如:req.session.user = doc或者其他。 – neiker
是的,你是對的。出於某種原因,我擔心通過AngularJS將鏈接發送給客戶端,但考慮到這一點,沒有什麼可擔心的。 – John