Javascript 重定向更新的请求不显示
我试图传递更新的请求(req.update),向其中添加一个对象,但当从一个路由(“/”)重定向到另一个路由(“/仪表板”)时,它不会在(req.update)上保存更新Javascript 重定向更新的请求不显示,javascript,node.js,express,Javascript,Node.js,Express,我试图传递更新的请求(req.update),向其中添加一个对象,但当从一个路由(“/”)重定向到另一个路由(“/仪表板”)时,它不会在(req.update)上保存更新 当您使用res.redirect时,它将向客户端发送带有redirect头的响应,然后客户端将启动一个新请求,因此此时所有以前的数据都将丢失 您可以使用app.set()方法设置数据并在其他路径中获取数据 示例。 router.post('/signin' , myAuth, signIn); function signIn
当您使用
res.redirect
时,它将向客户端发送带有redirect
头的响应,然后客户端将启动一个新请求,因此此时所有以前的数据都将丢失
您可以使用app.set()
方法设置数据并在其他路径中获取数据
示例。
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
app.set('userId', req.userId);
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard');
}
或者可以使用查询字符串
传递数据
示例:
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard?userId=' + req.userId);
}
当您使用
res.redirect
时,它将向客户端发送带有redirect
头的响应,然后客户端将启动一个新请求,因此此时所有以前的数据都将丢失
您可以使用app.set()
方法设置数据并在其他路径中获取数据
示例。
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
app.set('userId', req.userId);
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard');
}
或者可以使用查询字符串
传递数据
示例:
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard?userId=' + req.userId);
}
感谢您的回答,我想要的是将/signin route的相同请求对象传递到下一个路由,在本例中为/dashboard。。然后您可以将请求对象保存在
app.set(req)
中。然后在仪表板路线上找到它。正如我在回答中提到的,重定向将向客户端发送响应,然后客户端将创建一个新请求。app.set方法不起作用,查询起作用,但仍然不是我要查找的:(除了用户ID之外,您还想发送哪些其他信息?我不想通过请求对象从一个路由到另一个路由传递数据,我能达到吗?谢谢您的回答,我想要的是将/signin route的相同请求对象传递到下一个路由,即本例中的/dashboard…然后您可以将请求对象保存在app.set中。)(req)
。并在仪表板路径中获取它。正如我在回答中提到的,重定向将向客户端发送响应,然后客户端将创建一个新请求。app.set方法不起作用,查询起作用,但仍然不是我要找的:(除了userID之外,您还想发送哪些其他信息?我不想通过请求对象从路由到另一个传递数据的路由,我能达到这个目的吗?
router.post('/signin' , myAuth, signIn);
function signIn (req , res , next){
console.log(req.userId, 'woooooooooooooorked');
res.redirect(303 ,'/dashboard?userId=' + req.userId);
}
router.get('/dashboard' , dashboard) ;
async function dashboard(req ,res ,next){
console.log(req.userId , '*********');
let scanResult = await Model.get(req.query.userId);
console.log(scanResult , 'dashboard');
res.status(200).send(scanResult);
}