角度: 私のルートのURLは '/ auth/login'、バックエンドのルートは '/ login'です - すべて動作しますが、私はちょうど両方のURLが異なるので、なぜフロントエンドバックエンドにここで話をする? また、両方のURLに/ loginがあるため(これは前に来るものは - この場合:/ authは関係ありません) ありがとうございます。Angular route urlは、ノードのexpress routeと同じで、バックエンドと 'talk'する必要がありますか?
....
auth.login = function(email, password) {
return $http.post('/auth/login', user)
.then(function(response){
$rootScope.currentUser = response.data;
})
}
....
バックエンド:
app.post('/auth/login', function (req, res, next) {
User.findOne({
where: req.body
})
.then(function (user) {
if (!user) {
res.sendStatus(401);
} else {
req.session.userId = user.id;
res.sendStatus(204);
}
})
.catch(console.error)
});
前線と後ろのURLが何も共通する必要がないと言ったとき、私は何を意味するのか分かりません.-私は/ allusersに$ httpリクエストを行い、バックエンドには私が得るルートがあります私が望むもの(この場合はすべてのユーザー)が、URLは/ユーザーを言うことができます - そして、要求は決して正しいエンドポイントに到達しませんか?私の場合と同じように、httpリクエスト/認証/ログインはどのようにして/ログインするのでしょうか? – javascript2016
angularは/ login URLを処理して、(あなたが使用しているどのルータでも定義されているように)最も一般的なngRouteまたはui-routerです。その状態により、コントローラがロードされます(ルート/ステートコントローラまたはネストされたディレクティブコントローラのいずれか)。そのコントローラは、/ auth/login APIエンドポイントに対して非同期の '$ http'要求を行います。 – plong0
できるだけシンプルにするために、/ loginフロントエンドURLはAPIエンドポイント/認証/ログインに '$ http'リクエストを行いますが、実際には*フロントエンドURLが同じ' $ http'リクエストを行う可能性があります/ auth/login – plong0