这是我的代码。执行时会显示一些错误
var express = Express();
express.post('/start', async function (req, res) {
let data = req.body.name;
console.log(data);
var x = {name : data};
res.sendFile(path.join(__dirname, 'client/view', 'play.html', x));
});
答案 0 :(得分:0)
一种方法是使用ejs
模板语言(但您可以选择其他任何一种)。
安装ejs(npm安装ejs)
在根目录/views
在您的应用程序中
const app = require('express');
// set ejs as a view engine
app.set('view engine', 'ejs')
app.post('/start', (req, res) => {
const name = req.body.name;
// render your play.ejs file which is located in views
// /views/play.ejs
// second parameter is an object that will be accessible in your view
res.render('play', { name });
});
使用<%= %>
语法在您的视图中显示数据
/views/play.ejs
<p><%= name %></p>
答案 1 :(得分:-1)
您正在将'x'变量传递到path.join方法中,这会导致错误。
res.sendFile(path.join(__dirname, 'client/view', 'play.html', x));
x是一个对象,而path.join方法仅接受字符串。