随着我的角6的客户我访问的http://localhost:8082/login发送username和password并返回一个令牌。这是错误
请注意,下面error:是我想要的令牌。
这是我在Angular上使用的函数,用于使用给定的用户名和密码获取令牌
validateUser(user:User){
var reqHeader = new HttpHeaders({ 'Content-Type': 'application/json','No-Auth':'True' });
return this.httpClient.post<User>(this.apiURL + '/login',user,{headers:reqHeader});
}
Run Code Online (Sandbox Code Playgroud)
我只想返回令牌,就像在邮递员中一样。我试过了,toPromise()但是有更多错误。
默认情况下,Angular HttpClient尝试将HTTP响应的主体解析为JSON。由于您收到的响应正文是纯文本,例如“ Bearer .....”,而不是JSON,因此JSON解析失败。
您需要告诉HttpClient期望纯文本响应,如下所示:
this.httpClient.post(this.apiURL + '/login', user, {headers:reqHeader, responseType: 'text'});
Run Code Online (Sandbox Code Playgroud)
还要注意,由于响应是字符串,因此您不应该尝试将其强制转换为用户(不要执行此<User>操作)。外发消息是用户,返回值是一个字符串。
| 归档时间: |
|
| 查看次数: |
1522 次 |
| 最近记录: |