2016-08-29 3 views
0

Мне нужно вызвать приложение app.get() несколько раз, чтобы обновлять страницу. У меня есть функция, которая вызывает app.get каждый раз так часто, и я знаю, что функция writeToPage() получает вызванный app.get(), только вызывается один раз. Как можно обновлять страницу с помощью app.get() или есть лучший/альтернативный способ достижения того, что я хочу. Причина, по которой я нуждаюсь в этом, заключается в изменении переменной содержимого, и мне нужно обновить страницу.Nodejs Expressjs app.get interval

function writeToPage(content, page) { 
    console.log('writeToPage Called'); 
    app.get(`/${page}`, function (req, res) { 
     res.send(content); 
     console.log('content Sent'); 
    }); 
} 
+0

Что вам нужно - это Ajax/Websockets. – undefined

+0

Итак, если содержание страницы является динамическим, как лучше всего создать динамическую страницу? @ jfriend00 –

+0

См. мой ответ ниже. – jfriend00

ответ

4

app.get() для регистрации обработчиков, которые будут вызываться Экспресс, когда клиент делает запрос на соответствующий HTTP. Это НЕ то, что вы называете собой повторно. Таким образом вы не можете автоматически активировать страницу браузера. Кроме того, вы можете позвонить только по телефону res.send() на запрос первоначальной страницы. После того, как он был вызван один раз, страница была отправлена ​​в браузер, и ваша работа будет выполнена для этого HTTP-запроса.

Если вы хотите страницу браузера для автоматического обновления, у вас есть эти типы параметров:

  1. Вы можете иметь страницу браузера сам автоперезагрузку, каждый так часто. Это можно сделать либо с помощью Javascript, либо с тегом meta refresh. Это перезагрузит новую копию страницы с вашего сервера, и если значение будет обновлено, появится новое значение.

  2. Вы можете использовать повторяющийся вызов ajax на веб-странице, чтобы «опросить» ваш сервер, ища измененное значение, и когда это значение будет изменено, Javascript на вашей странице может обновить это значение на текущей странице, чтобы показать новое значение.

  3. Вы можете использовать соединение webSocket или socket.io со страницы на сервер, а затем сервер может автоматически нажимать новое значение на страницу всякий раз, когда значение обновляется. Javascript на странице получит это новое значение и обновит значение на текущей странице, чтобы отобразить новое значение.