0
我正在AngularJs項目上工作,我對網絡很陌生。我試圖實現的是簡單的登錄。我已經在服務器端(nodejs)以及客戶端實現了令牌庫身份驗證。AngularJs重定向URL沒有通過授權標題到服務器
一切似乎都很好。除了當我嘗試
這一點。$ window.location.href
當我點擊登錄,來測試我的驗證工作正常,我有一個名爲$ http.get到授權結束點它完美的工作。然後我調用nodejs(serve)爲給我一個給定端點上的頁面,這需要授權令牌標頭。但它沒有被髮送。
public loginClick =() => {
this.authService.login(this.user).then(msg => {
console.log("success");
this.$http.get(Config.apiEndpoint().url + '/memberinfo').then(result => {
console.log(result.data); //<== this works
var landingUrl = "http://" + this.$window.location.host + "/dashboard/";
this.$window.location.href = landingUrl; //<== this does not works
});
}, errMsg => {
console.log("failes");
});
}
的NodeJS代碼
app.get('/', moduleRoutes.root);
app.get('/dashboard/', moduleRoutes.root);
export function root(req: express.Request, res: express.Response) {
if (authorization.isAuthorized(req, res)) {
res.sendfile('./public/views/index.html');
} else {
res.sendfile('./public/views/login.html');
}
};
嘗試使用,而不是$位置$窗口。 .location.href – Bata
你似乎沒有告訴$ http發送任何額外的頭文件。你可以看看在這裏設置標題的文檔https://docs.angularjs.org/api/ng/service/$http/#setting-http-headers – toskv
此外,你似乎正在發回整個頁面。 。你不應該使用$ http服務來做這件事。這是你可以用路由器解決的更多問題。 :) – toskv