将数据从Express API参数传递到MEAN堆栈中的请求模块

时间:2018-02-06 16:02:36

标签: node.js express mean-stack meanjs

我面临以下问题,即将参数从Express API传递到请求模块URL。

在下面的代码中假设我的请求详细信息为

request_data.url = http://localhost:3000/interface/en/

当用户输入网址为http://localhost:3000/interface/en/123456

我想将123456发送到

url: request_data.url + acct,

因此,请求模块的最终网址变为http://localhost:3000/interface/en/123456

但是我的下面的代码不起作用,有人可以帮助我或建议我需要进行哪些更改

  

代码

app.get('/interface/:env/:acct', (req, res) => {
    var acct = req.params.acct;
    var env = req.params.env;
    var hsResponse = request({
        proxy: proxyUrl,
        url: request_data.url + acct,
        headers: request_data.headers,
        method: request_data.method,
        form: oauth.authorize(request_data)
    }, function (error, response, body) {
        res.setHeader('Content-Type', 'application/json');
        res.send(body); //<-- send hsResponse response body back to your API consumer
    });
});

1 个答案:

答案 0 :(得分:1)

请使用以下代码,

              app.get('/interface/:env/:acct', (req, res) => {
                  var acct = req.params.acct;
                  var env = req.params.env;

                  // here you need to update your url
                  request_data.url = request_data.url + acct;

                  var hsResponse = request({
                      proxy: proxyUrl,
                      url: request_data.url ,
                      headers: request_data.headers,
                      method: request_data.method,
                      form: oauth.authorize(request_data)
                  }, function (error, response, body) {
                      res.setHeader('Content-Type', 'application/json');
                      res.send(body); //<-- send hsResponse response body back to your API consumer
                  });
              });

我认为您正在使用OAuth,其中您将表单字段传递给request,其中需要使用现有的映射request_data URL和其他{{}进行授权1}}。

希望这会对你有所帮助!!