Как отправить файл HTML, а затем, по запросу клиента, отправить другой файл? - PullRequest
0 голосов
/ 25 апреля 2020

Примечание: я использую node.js, express. js и socket.io.

Я пытаюсь создать веб-страницу, которая, когда пользователь подключается, будет отображаться с одной. html страницы (называемой homepage. html), но по запросу другой файл. html (называемый лобби. html ) будет отправлен для отображения.

Итак, мой вопрос: как я могу сначала отправить один файл. html, а затем по запросу отправить другой?

сервер. js -

var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);

http.listen(3000, () => {
  console.log('listening on *:3000');
});

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/homepage.html');
});

Это успешно отправляет мою домашнюю страницу. html в браузер клиента для отображения. Однако я хочу иметь возможность отправлять совершенно другой файл. html в ответ на запрос клиента. Я на правильном пути, включив что-то вроде следующего в мою домашнюю страницу. html file ...

app.get('lobby', (req, res) => {
  res.sendFile(__dirname + 'lobby.html');
}

... и затем в мой сервер. js*, добавьте что-то вроде ...

let http = require('http');

const options = {
    hostname: "/",
    port: 3000,
    method: "GET"
}

const req = https.request(options, res => {
    ; // How do I display the response .html file?
});

// when a button or something is clicked, request
// lobby.html
req.write();

req.end();

Большое спасибо за помощь!

Eri c

1 Ответ

0 голосов
/ 25 апреля 2020

Да, /lobby.html - это то, что я хочу обслуживать в ответ на запрос /lobby.

Затем просто измените свой server.js на это (то есть добавьте новый get отображение):

var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);

http.listen(3000, () => {
  console.log('listening on *:3000');
});

app.get('/', (req, res) => {
  res.sendFile(__dirname + '/homepage.html');
});

app.get('/lobby', (req, res) => {
  res.sendFile(__dirname + '/lobby.html');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...