私はユーザー確認メールを持っています。電子メール本文は、私の角度2のルートlocalhost:4200/verify/{userId}
で構成されています。ユーザーがリンクをクリックすると、角度2のルートに移動し、URLを分割してuserIdを取得してサービスに渡します。angle2から来たバックエンドに対するリクエストが不正です
私verify.component.ts
ngOnInit() {
var str = this._router.url;
var userId = str.split('/');
this._verifyService.verifyUser(userId[2])
.subscribe((user) => console.log(user),
(err) => console.log(err));
}
これは、それが値を渡しするサービスです見てみてください。
export class VerifyService{
constructor(private _http: Http){}
verifyUser(userId){
var headers = new Headers();
console.log(userId);
headers.append('Content-Type', 'application/json');
return this._http.post('http://localhost:3000/user/verify', userId, {headers: headers})
.map((response: Response) => {
return response.json();
})
.catch(this._handlerError)
}
_handlerError(err: any){
console.log(err);
// throw err;
return Observable.throw(err);
}
}
これは、検証するユーザーの更新を処理するバックエンドです。
userRouter.route('/verify')
.post(function (req, res) {
console.log(req.body);
var userId = req.body.userId;
console.log(userId);
users.findOneAndUpdate({ _id: userId }, { $set: { verified: true } }, { new: true })
.exec(function (err, user) {
res.json(user);
});
});
要求はそれが動作ポストマン、から来ています。ユーザーレコードを更新し、それを検証するように変更しますが、私がangle2を使用してそれを使用すると、不正な要求が返されます。どうして?誰でも説明できますか?
注::このようなリクエストがあり、動作します。唯一の違いは、電子メールからのアプローチであり、リンクをクリックすることです。この情報が役立つかどうかわかりませんが、言及する価値はあります。