我在尝试登录我的应用程序时遇到此错误。如果我尝试通过 Postman 进行请愿,效果很好,我想知道问题出在哪里,正如我所说,HTPP 请求正在 Postman 上运行,它为我提供了身份验证用户的 JWT 令牌。
signup(user: any, gettoken : boolean): Observable<any> {
if (gettoken != false) {
user.gettoken = 'true';
}
let json = JSON.stringify(user);
let params = 'json='+json;
let headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
return this._http.post(this.url+'login', params, {headers: headers});
}
onSubmit(form : any) {
this._userService.signup(this.user, false).subscribe(
response => {
// Token
if (response.status != 'error') {
this.status = "success";
this.token = response;
// Objeto del usuario identificado
this._userService.signup(this.user, true).subscribe(
response => {
// Token
this.identity = response;
console.log(this.token);
console.log(this.identity);
}, error => {
this.status = "error";
console.log(<any>error);
});
} else {
this.status = "error";
}
},
error => {
console.log(error);
console.log(<any>error);
},
)
}
您遇到的错误表明
JSON.parse
正在抛出。这是因为您的后端返回的不是 JSON,而是文本响应。
您需要将
responseType
设置为 'text
:
return this._http.post(this.url+'login', params, {headers: headers, responseType: 'text'});