http.get在nodejs中没有得到任何东西

时间:2017-12-06 07:33:48

标签: node.js http mongoose

我的项目中的代码试图从微信获取访问令牌。

router.get('/', function(req, res, next) {
  var params = new URLSearchParams({
     grant_type: config.grantType,
     appid: config.appID,
     secret: config.appSecret
  });

  const url = config.wechat + '?' + params.toString();

  http.get(url, (res) => {
     console.log("haha");
     console.log(res);
     var rawData = '';

     if (res.statusCode != 200) {
        res.resume();
        console.error('statusCode:' + res.statusCode);
        return;
     }

     res.on('data', function (chunk) {
        rawData += chunk;   //buffer data if has
        console.log(rawData);
     });

     res.on('end', function() {
        try {
           console.log("haha");
           const accessTokenData = JSON.parse(rawData);
           console.log("access: " + accessTokenData);
           var newToken = new AccessToken({
                token: accessTokenData["access_token"],
                record_time: Date.now(),
                expires: accessTokenData["expires_in"]
           });

           newToken.save(function(err) {
                console.log("save error: " + err);
            });
        } catch (e) {
            console.error('parse error: ' + e);
        }
    });
  }).on('error', function(e) {
      console.error("get access token failed: " + e);
  });

   console.log("sadfdas");
});

我想要做的是从api获取访问令牌并使用mongoose将其存储到mongodb中。当我在我的本地流浪汉机器上启动节点服务并访问路线时,终端上打印,并将新记录插入mongodb。所以我不知道问题在哪里,我确定网址是正确的,我已经用邮递员测试了。请帮我找到问题所在。任何帮助将不胜感激。

0 个答案:

没有答案