我有一个问题要问你。
我使用ExpressJS和Pug模板引擎来做一些应用程序。我创建一个表单,然后在POST方法上发送表单值。经过一些处理后,我想在同一页面(表单页面)中显示结果。
index.pug(客户端)
form(method='POST' action='/comparetable/results')
div.form-group
label(for="libelle") Libellé
input(
type="text"
class="form-control"
name="libelle"
id= "libelle"
value=libelle? libelle : ""
)
if(data)
if data.length == 0
p No errors
else
table.table
thead
tr
td(scope="col" class="font-weight-bold") Ligne
tbody
each dataRow in data
tr
td= dataRow["ligne"]
app.js(服务器端)
app.get('/comparetable', function (req, res, next) {
res.render('compare', {
libelle : req.body.libelle,
data: (req.outputArray? req.outputArray : null)
});
});
app.post('/comparetable/results', function (req, res, next) {
const libelle = req.body.libelle;
// some processing
// input : libelle (a string)
// output : outputArray (an array with data)
req.outputArray = outputArray;
res.redirect('/comparetable');
})
在客户端,我有一个表单,可以通过POST方法发送值comparetable / results,如果定义了数据,则可以显示结果。 在服务器端,我有两条路线:get(使用数据渲染模板)和post(进行处理并重定向到用于显示的get方法)。
目标是拥有一个模板(客户端)和一个渲染功能/路由(服务器端)。目前,它不起作用。有人可以帮我吗?