【发布时间】:2018-04-13 19:38:18
【问题描述】:
我正在努力连接 Angular 前端以与 API 后端进行通信。我要做的第一件事是完成登录验证。我正在尝试将令牌设置到本地存储中,但我不确定我哪里出错了。我不断收到 400 bad gateway 错误。
auth.service console.log(res) 确实返回了我期望从 api 获得的 json 响应。
@Injectable()
export class AuthService {
private BASE_URL: string = 'http://127.0.0.1:8000/rest-auth';
private headers: HttpHeaders = new HttpHeaders({'Content-Type': 'application/json'});
constructor(private http: HttpClient) {}
login(user: LoginReponse): Promise<any> {
let url: string = `${this.BASE_URL}/login/`;
let headers = new Headers({
'Content-Type': 'application/json',
'Accept': 'application/json'
});
return this.http.post(url, user, {headers: this.headers}).toPromise()
.then(
res => console.log(res)
);
}
login.component
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent {
private TOKEN_KEY = 'id_token';
public loginResponse: any = new LoginReponse()
constructor(
private auth: AuthService,
private router: Router
) {
}
onLogin(): void {
console.log('log user');
this.auth.login(this.loginResponse)
.then((loginResponse) => {
localStorage.setItem('token', loginResponse.data.token);
console.log('got past localstorage');
})
.catch((err) => {
// console.log(err);
console.log();
});
}
}
类
export class LoginReponse {
token: string;
user: {
pk: number;
username: string;
email: string;
first_name: string;
last_name: string;
};
}
【问题讨论】:
-
您是否为您的应用程序设置了 CORS?