You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express技术问题:如何不通过查询字符串参数向模型传递数据

控制器间重定向与参数传递的实现方案

我来分享下我实现的 authController 和 onboardingController 之间的通信逻辑,核心是通过重定向携带查询参数,再在目标控制器中解析参数并传递给视图:

1. AuthController 发起重定向并携带用户参数

在authController中,我通过重定向的方式把用户的profile信息以查询参数的形式传递给onboarding页面:

// authController 中的重定向代码
res.redirect('/onboarding/info?profileId=' + profile.id + '&emailAddress=' + profile.emails[0].value);

这里用&(HTML实体转义后的&)来分隔参数,确保URL的格式符合规范,避免出现解析问题。

2. OnboardingController 接收参数并传递给视图

在onboardingController中,我从请求的查询字符串里取出参数,整理成视图可访问的元数据,再渲染对应的页面:

// onboardingController 中的参数处理与渲染逻辑
model.profile = { id: req.query.profileId, email: req.query.emailAddress };
res.render('onboarding/missing-info', model); // 补全原代码中截断的视图名称

通过req.query可以直接获取URL上的查询参数,把这些数据封装到model.profile对象后,渲染视图时就能在模板中直接访问profile.id和profile.email了。

内容的提问来源于stack exchange,提问作者Bargain23

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:33:51