Как передать данные на другую страницу, используя экспресс-узел js - PullRequest
0 голосов
/ 04 июля 2018

Вот мой код. Когда он выполняется, он показывает некоторые ошибки

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 голосов
/ 04 июля 2018

Один из способов сделать это - использовать 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>
0 голосов
/ 04 июля 2018

Вы передаете переменную 'x' в метод path.join, который вызывает ошибку.

res.sendFile(path.join(__dirname, 'client/view', 'play.html', x));

x является объектом, а метод path.join принимает только строки.

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