从http post响应Angular5获取值

时间:2018-02-25 19:58:55

标签: angular

我从帖子中得到了这个json的回复:

access_token

我需要获取this.http .post( this.ROOT_URL, data.toString(), {headers: new HttpHeaders().set('content-type', 'application/x-www-form-urlencoded')} ) //.map(res => res.json()) .subscribe(data => console.log(data)) console.log(data.get('access_token')) } 的值,但是当我这样做时,值为null:

{{1}}

1 个答案:

答案 0 :(得分:0)

您的代码中有2个错误

  1. data.get不是函数,因为ajax调用的返回是一个普通对象。它应该是data.access_token或data ['access_token']

  2. 您的console.log在订阅块之外,因此无论如何数据都将为null。控制台日志必须在订阅回调中

  3. 试试

    this.http
    .post(
        this.ROOT_URL,
        data.toString(), 
        {headers: new HttpHeaders().set('content-type', 'application/x-www-form-urlencoded')}
    )
    .subscribe(data => 
    {
        console.log(data))
        console.log(data.access_token)
    });