Как отобразить данные ejs в html-файле? - PullRequest
0 голосов
/ 08 мая 2019

Я хочу, чтобы пользователи заполняли форму, встроенную в раздел веб-сайта HTML, и чтобы их представленные ответы обновлялись каждый раз в одном и том же HTML-файле, а не отображались в отдельном файле output.ejs. Я просто не знаю, как дальше этого. Что бы я изменил в файле моего сервера?

var express = require('express')
var app = express()
var formdata = [];

var bodyParser = require('body-parser');
var urlencodedParser = bodyParser.urlencoded({ extended: true }); 
   app.use(urlencodedParser);

   app.get('/', function (req, res) {
   res.render('index');
    })

   app.use(express.static(__dirname + '/public'));
   app.set('view engine', 'ejs');

   app.post('/processform', function(req,res) {

    let data = new Object();
    data.street = req.body.street;
    data.pet = req.body.pet;


    formdata.push(data);

    let passedindata = new Object();
    passedindata.formdata = formdata;


  res.render("output.ejs", passedindata);
});

1 Ответ

0 голосов
/ 09 мая 2019

Я бы сделал другую конечную точку API, которая возвращает formdata. После того, как пользователь успешно опубликовал ответ, вместо того, чтобы отображать output.ejs, попросите страницу формы выполнить этот вызов API, чтобы получить обновленное formdata, а затем обработать его по своему усмотрению.

...