我已經學會了三天的angularJS,但在學習期間我有一些問題。
好,在 「運行框」:
angular.module("techNodeApp",["ngRoute"]).
run(function($window,$rootScope,$http,$location){
$http({
url:"/api/validate",
method:"GET"
}).success(function(user){
console.log("success");
$rootScope.me=user;
$location.path("/");
}).error(function(data){
console.log("error");
$location.path("/login");
});
$rootScope.logout=function(){
$http({
url:"/api/logout",
method:"GET"
}).success(function(){
console.log("I've logged out");
$rootScope.me=null;
$location.path("/login");
})
}
})
在服務器(Node.js的):
app.get("/api/validate",function(req,res){
console.log("I can hear you FE");
});
app.get("/ajax/validate",function(req,res){
var _userId=req.session._userId;
if(_userId){
Controllers.findUserById(_userId,function(err,user){
if(err){
res.json(401,{msg:err});
}else{
res.json(user);
}
})
}else{
res.json(401,null);
}
});
第一個進入我的網站我還沒有登錄,所以我想,當應用程序開始運行。它必須去「http://localhost:3000/login」的頁面。但它去了「http://localhost:3000」,它不能打印cmd中的字符串「我能聽到你FE」。
我只需編輯我的node.js代碼。當我到達'/ api/validate'頁面時,我認爲它必須進入'/ login'頁面。但它不起作用 –
我想你對使用'$ http'所做的AJAX請求,'node.js'處理的請求路徑以及'$ location.path'很困惑。而不是試圖通過它來破解它的工作,試着瞭解它是如何工作的。 – mostruash