【问题标题】:Cannot read results from nodejs request result无法从 nodejs 请求结果中读取结果
【发布时间】:2016-05-29 00:51:52
【问题描述】:

我通过node js的请求向FB graph api发出请求:

 request({
        url: 'https://graph.facebook.com/v2.6/' + userId + '?fields=first_name,last_name&access_token=' + token,
        method: 'GET', 
    }, function (error, response, body) {
        console.log(error);    
    }).on('response', function (response) {
        response.on('data', function (data) {
            console.log('user data ' + data); // logs user data {
                                              //  "first_name": "Marcus",
                                              //  "last_name": "Green" }

            var userData = {
                firstName: data['first_name'],
                lastName: data['last_name']
            };

            console.log(userData.firstName) // logs undefined
        })
    });

当我分配 data.first_namedata.last_name 时也会发生同样的情况

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    如果第一次调用console.log('user data ' + data); 返回:

    "user data{"first_name":"A","last_name":"B"}"

    而不是:

    "user data[object Object]"

    这意味着,data 对象是一个字符串,而不是一个对象。如果您想将其用作对象并访问它的字段,请首先使用以下方法对其进行解析:

    var parsedData = JSON.parse(data);
    console.log(parsedData.first_name); // Logs first_name now
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 1970-01-01
      • 2019-03-27
      • 2023-01-02
      • 2020-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多