首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Express中将数据/变量从POST路由传递到GET路由?

在Express中,可以通过将数据/变量存储在session或者使用中间件来在POST路由和GET路由之间传递数据。

一种方法是使用session来存储数据/变量。首先,需要安装并引入express-session中间件。然后,在POST路由中,可以将数据/变量存储在session中,例如:

代码语言:txt
复制
const express = require('express');
const session = require('express-session');
const app = express();

// 使用session中间件
app.use(session({
  secret: 'secret-key',
  resave: false,
  saveUninitialized: true
}));

app.post('/post-route', (req, res) => {
  // 存储数据/变量在session中
  req.session.myData = 'Hello, World!';
  res.redirect('/get-route');
});

app.get('/get-route', (req, res) => {
  // 从session中获取数据/变量
  const myData = req.session.myData;
  res.send(myData);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

另一种方法是使用中间件来传递数据/变量。可以创建一个中间件函数,在POST路由中调用该函数并将数据/变量作为参数传递,然后在GET路由中通过中间件函数获取数据/变量。例如:

代码语言:txt
复制
const express = require('express');
const app = express();

// 中间件函数
const myMiddleware = (req, res, next) => {
  // 从请求中获取数据/变量
  const myData = req.body.myData;
  // 将数据/变量存储在请求对象中
  req.myData = myData;
  next();
};

app.use(express.urlencoded({ extended: true }));

app.post('/post-route', myMiddleware, (req, res) => {
  res.redirect('/get-route');
});

app.get('/get-route', (req, res) => {
  // 从请求对象中获取数据/变量
  const myData = req.myData;
  res.send(myData);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

以上是在Express中将数据/变量从POST路由传递到GET路由的两种常见方法。根据具体的需求和场景,选择适合的方法来传递数据/变量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券