сделать запрос GET внутри приложения NodeJs, используя экспресс - PullRequest
0 голосов
/ 12 декабря 2018

В моем файле 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, он обрабатывается как перенаправление, а неПОЛУЧИТЬ запрос.Как я могу получить эти значения параметров в моей / VC / ветви.Примечание. Мне не удалось использовать http.get, поскольку путь определяется приложением Express

.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Только что использованный

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 части

0 голосов
/ 12 декабря 2018

Ожидается, что вы увидите перенаправление, потому что вы делаете 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);
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...