Как отправить данные клиенту с помощью Node with Express? - PullRequest
0 голосов
/ 14 мая 2018

Я новичок в веб-разработке и не могу понять, как отправлять данные с сервера Node на клиент, одновременно обслуживая HTML-страницу.Я знаю, что res.send () отправляет данные, но я не могу использовать это, не изменив также отображение клиента.Вот код того, что я пытаюсь сделать (но не работает)

Сервер:

app.get('/home', function (req, res) {
    res.send("String with info I want in HTML");
    res.sendFile(__dirname + '/home.html');
});

Клиент:

<script>
        var xhttp = new XMLHttpRequest();
        alert(xhttp.responseText); //Using alert to check if I received the info I wanted
</script>

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Я знаю, что res.send () отправляет данные, но я не могу использовать их без изменения отображения клиента.

Вы можете.Вам просто нужно, чтобы клиент запрашивал данные правильным образом.

Если код на стороне клиента запрашивает URL для отображения в качестве новой страницы, то вы измените отображение.Так что не делай этого.Используйте XMLHttpRequest.

var xhttp = new XMLHttpRequest();
alert(xhttp.responseText); //Using alert to check if I received the info I wanted

Вам необходимо:

  1. Создать объект XHR
  2. Запросить URL
  3. Отправить запрос
  4. Дождаться ответа
  5. Посмотреть ответ

Вы пропустили шаги 2, 3 и 4!

var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/home");
xhttp.addEventListener("load", function () { alert(this.responseText); });
xhttp.send();
0 голосов
/ 14 мая 2018

Функция res.render () выполняет свою работу!

res.render("your html page" , { variable : "String with info you want to send." })
...