如何使用Express Node JS将数据传递到另一个页面

时间:2018-07-04 02:57:44

标签: node.js express

这是我的代码。执行时会显示一些错误

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));
});

2 个答案:

答案 0 :(得分:0)

一种方法是使用ejs模板语言(但您可以选择其他任何一种)。

  • 安装ejs(npm安装ejs)

  • 在根目录/views

  • 中设置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方法仅接受字符串。