Javascript Node.js应用程序从GET请求接收到对API的空响应

Javascript Node.js应用程序从GET请求接收到对API的空响应,javascript,node.js,api,express,xmlhttprequest,Javascript,Node.js,Api,Express,Xmlhttprequest,我是node.js新手,所以我将在这里尽力解释这个问题。如果需要牧师职位,请告诉我 在我的node.js应用程序中,我试图获取一个代码(从对API的第一次调用的响应中接收),并使用该代码向另一个API服务发出第二次请求(GET请求)。第一次调用的回调url是/pass。然而,我在第二次通话中收到了来自服务的空响应 我的理解是,在第一次调用后,app.get('/pass',function(req,res)中的函数被调用,并发送一个get请求。我在这里做错了什么?非常感谢 下面是我尝试从node

我是node.js新手,所以我将在这里尽力解释这个问题。如果需要牧师职位,请告诉我

在我的node.js应用程序中,我试图获取一个代码(从对API的第一次调用的响应中接收),并使用该代码向另一个API服务发出第二次请求(GET请求)。第一次调用的回调url是
/pass
。然而,我在第二次通话中收到了来自服务的
空响应

我的理解是,在第一次调用后,
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);
    });
});

我对你的要求有点困惑,所以我会尽量掩盖我认为你在寻找的东西

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 
    });
});

err
中有什么内容吗?上面写着:
err\u EMPTY\u RESPONSE
谢谢@reedb89关于
app.get('/pass',(req,res)
,这是我上一次呼叫的回拨url。我想在我的节点应用程序收到第一次呼叫的响应后,我的浏览器会转到localhost:8080/pass?code=xyz…并且我尝试使用该代码在这个
应用程序中进行第二次呼叫。get('/pass',(req,res)
。因此我认为
res.send(body)
在您的回答中,是第二次呼叫的res吗?我不明白为什么我需要发回数据?我想对第二次呼叫的res做的是,我想先查看一下,然后从中检索一些值..这就是我尝试将其登录到控制台的原因..是console.log(body)给你你想要的吗?没有,
body
显示“未定义”,与
res
相同。我在浏览器中看到的错误首先是“空响应”,然后是“超时”。
err,res,body
是我从发送给
https://the 我向所有标题发出GET请求的url?浏览器显示“超时”,因为您没有返回响应。是的,err、res、body来自传递到请求方法的选项。Tbh我在这里没有看到任何错误。也许可以尝试删除标题并使用www.google.com作为测试。代码是否在其他地方声明了全局变量?文档定义非常好,我n关于标题: