如何使用expressjs将数据从一个路由传递到另一个nodejs

Lah*_*nga 3 javascript session request node.js express

我想向请求对象添加某个属性,并在重定向后从另一个路由访问添加的属性。下面的代码显示了我真正需要的。

const express = require('express')
const app = express()

app.get('/test1',(req,res)=>{
console.log('test1')
req.name = 'lahiru'
res.redirect('/test2')
})

app.get('/test2',(req,res)=>{
console.log('test2')
let val = req.name
console.log(val)
})

app.listen(3000)
Run Code Online (Sandbox Code Playgroud)

但是当我向“/test1”发送请求时,我得到以下输出。

test1
test2
undefined
Run Code Online (Sandbox Code Playgroud)

我用 Express-Session 尝试了这一点,但日志返回相同的“未定义”。任何人都可以帮忙吗?提前致谢。

Mar*_*nde 5

name如果您想在 中使用,您可以执行以下操作之一/test2

  • 使用查询字符串传递 URL 中的数据:/test2?name={name}
  • 将路线更改为:/test2/:name
  • 使用cookies
  • 其他类型的会议
app.get('/test1',(req,res)=>{
    const name = 'lahiru'
    res.redirect(`/test2/${name}`)
    // res.redirect(`/test2/?name=${name}`)
})

// using req.params
app.get('/test2/:name',(req,res)=>{
    let val = req.params.name
    console.log(val)
})
// using query string
app.get('/test2',(req,res)=>{
    let val = req.query.name
    console.log(val)
})
Run Code Online (Sandbox Code Playgroud)