我使用Node设置了一个auth,它可以正常工作邮差。但在Angular中,我似乎做错了什么。我创建了一个服务,并在按钮单击时调用了auth()函数。
当我点击按钮时,我可以看到我收到了200状态,并且收到了我在后端创建的成功消息。我想重定向到/仪表板成功登录,但不知何故我收到401未经授权的错误(在DashboardComponent中调用GET函数)。凭证是100%正确的(否则我不会获得成功消息)。就像我说的那样,它适用于Postman。
我做错了什么?谢谢!
以下是服务的代码:
import { Injectable } from '@angular/core';
import { env } from '../../../../.env';
import { Http, Response } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
import { Router } from '@angular/router';
@Injectable()
export class LoginService {
constructor(private _http : Http, private router: Router) {}
public auth(creds) {
return this._http
.post(env.apiUrl + '/api/auth', creds)
.map((response:Response) => {
return this.successfulAuth(response);
});
}
private successfulAuth(response) {
response = response.json();
if(response.success === 1) {
// this works !
this.router.navigateByUrl('/dashboard');
}
return [];
}
}