首页 > 解决方案 > 错误类型错误:“值未定义”角度 5 httpclient

问题描述

我已经在我的 Angular 5 应用程序上实现了 httpclient 方法来集成 REST 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"

我尝试使用 oberables 如下,但它没有工作给我其他问题

return this.http.post<Response>( this.apiUrl+'login/', JSON.stringify({access_token: accessToken}), ({headers: header})).map((user) => {

标签: angularrxjsangular5observableangular-httpclient

解决方案


您的问题可能在于使用地图功能而不是订阅功能。但是,我遇到了类似的问题,我尝试发出 POST 请求并发送一些标头。问题的原因实际上是其中一个标头的值未定义。

在这里找到答案:Angular 'values is undefined' subcribing to mapped http response (request not being made?)


推荐阅读