node.js - 外部 Web 服务将用户重定向并将数据发布到我的回调 URL。如何在 Express/Next.js 应用程序中将发布的数据呈现给用户?
问题描述
任何帮助将不胜感激!被困在这几天了。
我有一个 Express/Next.js 应用程序,其中:
- 我将用户发送到外部网站
- 用户付款
- 外部网站将数据重定向并发布回我的回调 URL。
所以现在我让用户在一条mysite.com/payment-complete
路线上,但也想显示发回的数据。
我有一个app.post
端点可以成功获取数据:
app.post("/payment-complete", async (req, res) => {
const transactionID = req.body.trans_id;
});
我如何将数据传递给已经在该路线上的用户?还是在页面渲染之前传递数据?
数据流是第三方>我的服务器>用户,我不知道如何使这项工作。
对于这方面的任何帮助/指导,我将不胜感激。
解决方案
如果有人遇到这个问题 - 问题是在 Express(和其他语言)中,您无法重定向或呈现 AJAX POST 请求的视图,但如果 POST 请求来自提交的 html 表单,则可以。Web 服务实际上是 POST 数据并使用表单重定向我的用户,因此我可以呈现视图。
以下代码使用 Handlebars 模板引擎发送渲染。
router.post("/payment-ok", async (req, res) => {
const transactionID = req.body.trans_id;
return res.render("rendertest", { id: transactionID });
});
也应该使用app.render
发送 Next.js 视图来代替,但我想从单独的路由文件进行渲染。
推荐阅读
- r - 选择选项卡时,如何刷新整个应用程序(f5)?
- html - 我希望我的下拉菜单出现在外面,但它会导致垂直滚动条
- snowflake-cloud-data-platform - Snowflake snowalert - 运行选择性警报
- amazon-web-services - 无论如何在 Fargate 容器变得健康之前确定它的公共 IP 吗?
- javascript - 使用事件委托查找在表中单击的行号
- java - Kafka Connect:类的 NoClassDefFoundException
- ruby-on-rails - 如何允许在控制器中模拟本地范围的变量以接收消息?
- python - 如何从句子中提取单词
- arrays - IOS/Swift:如何在 .firstIndex 中表示 $0 的第一个位置?'无法将'Any'类型的值转换为预期的参数类型'String''
- sql-server - 如何让 SQL Server 连接?