Перезагрузите index.html после отправки запроса - PullRequest
0 голосов
/ 15 мая 2018

Я хочу написать очень простое веб-приложение с помощью express и node.js. Приложение имеет только index.html с формой. Когда форма POSTed, сервер node.js должен реагировать, записывая входное значение в текстовый файл. В браузере файл index.html необходимо перезагрузить, чтобы он смог отправить следующую форму.

Мне удалось заставить все работать, кроме той части, где файл index.html перезагружается после обработки запроса. Index.html находится в папке «www».

Каков наилучший способ сделать это?

Это мой app.js:

var express = require('express')
var app = express()
const fs = require('fs');
const bodyParser = require('body-parser');

app.use(express.static('www'));
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());


var server = app.listen(3000, function () {
    var host = server.address().address
    var port = server.address().port
    console.log('Express app listening at http://%s:%s', host, port)
})

server.on('request', (req, res) => {
   if (req.method === 'POST') {
        collectRequestData(req, res => {
            console.log(res);
        });
   } 
   // Here the index.html should be reloaded
});

//This function only writes the form data to txt-file, I don't know if it is relevant here
function collectRequestData(request, callback) {}

1 Ответ

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

Попробуйте перенаправить на индекс после обработки сообщения:

server.on('request', (req, res) => {
   if (req.method === 'POST') {
        collectRequestData(req, res => {
            console.log(res);
        });
   } 
   // Here the index.html should be reloaded
 res.redirect('/');; --->Redirect to index here.
});

Вот ссылка: https://expressjs.com/en/4x/api.html#res.redirect

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...