使用express在NodeJs应用程序内发出GET请求

时间:2018-12-12 10:37:06

标签: node.js http express

我的server.js中包含以下代码:

var fileSystemPath = path.join(__dirname, '../variable/public');
app.use('/VC', express.static(quickstartPath));

AND

app.get('/', function(request, response) {
response.redirect('/VC/?roomname=' + request.query.roomname + '&username=' + request.query.username);
});

虽然将参数格式化为URL,但会将其视为重定向而不是GET请求。如何在/ VC /分支中获取这些参数值。 请注意,由于路径是由快速应用定义的,因此我无法使用http.get

2 个答案:

答案 0 :(得分:0)

由于您正在执行 response.redirect

,因此您应该会看到重定向

如果我的理解正确,那么您想使用这些参数针对'/'端点向该特定请求提供静态内容。在这种情况下,您要找的可能是管道。

您可以执行以下操作:

app.get('/', function(request, response) {
  // construct your servers static URL using the host header.
  let resource = request.headers.host + '/VC/?roomname=' + request.query.roomname + '&username=' + request.query.username;
  // Make a get request.
  http.get(resource, (getResponse) => {
    // Pipe the response.
    return res.pipe(getResponse);
  });
});

答案 1 :(得分:0)

刚刚使用

tmp = [];
location.search
    .substr(1)
    .split("&")
    .forEach(function (item) {
      tmp = item.split("=");
      if (tmp[0] === 'username') username = decodeURIComponent(tmp[1]);
      if (tmp[0] === 'roomname') roomname = decodeURIComponent(tmp[1]);
    });

在/ vs部分