Node.js应用从GET请求到API

时间:2016-12-20 21:54:56

标签: javascript node.js api express xmlhttprequest

我是node.js的新手,所以我会尽力在这里解释一下这个问题。如果需要任何证词,请告诉我。

在我的node.js应用程序中,我正在尝试获取代码(从第一次调用API的响应中获取),并使用该代码向另一个API发出第二个请求(GET请求)服务。第一个电话的回拨网址为/pass。但是我从第二次通话的服务中得到empty response

我的理解是,在第一次调用回调之后,app.get('/pass', function (req, res)..中的函数被调用并发送GET请求。我在这做错了什么?非常感谢提前!

以下是我尝试从node.js服务器发出GET请求并收到空响应的部分:

    app.get('/pass', function (req, res){

    var options = {  
        url: 'https://the url that I make GET request to',
        method: 'GET',
        headers: {
            'authorization_code': code,
            'Customer-Id':'someID',
            'Customer-Secret':'somePassword'
        }
    };

    request(options, function(err, res, body) {  
        console.log(res);
    });
});

1 个答案:

答案 0 :(得分:2)

我对你的问题感到有点困惑,只是试着掩盖我认为你正在寻找的东西。

app.get('/pass', (req, res) => {
    res.send("hello!");      // localhost:port/pass will return hello 
})

现在,如果您在调用/ pass端点时尝试从请求库调用get请求,则事情仍然类似。首先,我认为您可以删除这种方法' :' GET'密钥和值,因为它们不是必需的。现在代码将与之前的代码大致相同,除了响应。

app.get('/pass', (req, res) => {
    var options = {  
        url: 'https://the url that I make GET request to',
        headers: {
            'authorization_code': code,
            'Customer-Id':'someID',
            'Customer-Secret':'somePassword'
        }
    };

    request(options, function(err, res, body) {  
    // may need to JSONparse the body before sending depending on what is to be expected.
        res.send(body); // this sends the data back 
    });
});