を送ることがfrom hereを撮影したのAuthServiceログイン、だ角度2 http.post:ここでは空のオブジェクト
login(email: string, password: string): Observable<boolean> {
return this.http.post(
apiURL + '/admin/login',
JSON.stringify({ email: email, password: password }))
.map((response: Response) => {
// login successful if there's a jwt token in the response
let token = response.json() && response.json().token;
if (token) {
// set token property
this.token = token;
// store username and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('currentUser', JSON.stringify({ email: email, token: token }));
// return true to indicate successful login
return true;
} else {
// return false to indicate failed login
return false;
}
});
}
私のコンポーネントでは、私はそうのようにサブスクライブしようとしています:
login() {
this.loading = true;
console.log(this.model);
this.authenticationService.login(this.model.email, this.model.password)
.subscribe(result => {
if(result === true) {
this.router.navigate(['/']);
} else {
this.error = 'Username or password is incorrect';
this.loading = false;
}
});
}
私がやりました行に沿ってコンソールログが記録され、データが実際に渡されているかどうかが確認されます。すべてがうまくチェックされます。除き
は、送信されたデータは、私のエクスプレスコンソールによると、それはreq.body
てくるだけのことだだけ{ }
です。 req.headers
は、コンテンツタイプが適切であることを示します。つまり、Content-Type: application/json
POSTManを使用してAPIエンドポイントに同じjsonリクエストを送信しようとしました。正常に動作します。
別のトリックアングル2のhttp.post
スリーブがありますか?
上記のコードで何が問題になっていますか?
[OK]を、渡されたデータやないですか?ここには少し矛盾があります。一方でデータが渡され、他方でデータがちょうど '{}'であると言います。 – Alex
@ AJT_82混乱して申し訳ありません。つまり、空のオブジェクト '{}'だけがhttp.postが送るものです。 – Rexford
'this.model'とは何ですか? –