我已将httpclient方法实现为在我的angular 5应用程序上集成REST api,如下所示,以下是登录api,该api输入用户名和密码并应返回用户数据
let header = new HttpHeaders({'Content-Type': 'application/json', 'Ip': this.ipAddress});
return this.http.post( this.apiUrl+'login/', JSON.stringify({access_token: accessToken}), ({headers: header})).map((user) => {
let apiResponse = user['response'];
let id = apiResponse.data.id;
let first_name = apiResponse.data.first_name;
let last_name = apiResponse.data.last_name;
} else {
console.log(11)
// return false to indicate failed login
return apiResponse;
}
在大多数情况下,它会给我以下错误(有时可以)
ERROR TypeError: "values is undefined"
我尝试了以下方法,但是它没有起作用给我其他问题
return this.http.post<Response>( this.apiUrl+'login/', JSON.stringify({access_token: accessToken}), ({headers: header})).map((user) => {
答案 0 :(得分:0)
该地图功能应为订阅。更改它并记录响应以保持正常工作
答案 1 :(得分:0)
您的问题可能出在使用 map 函数而不是 subscribe 函数。 但是,在尝试发出POST请求并发送一些标头时,我遇到了类似的问题。 造成此问题的原因实际上是标头之一的值未定义。
在这里找到答案:Angular 'values is undefined' subscribing to mapped http response (request not being made?)