首页 > 解决方案 > 外部 Web 服务将用户重定向并将数据发布到我的回调 URL。如何在 Express/Next.js 应用程序中将发布的数据呈现给用户?

问题描述

任何帮助将不胜感激!被困在这几天了。

我有一个 Express/Next.js 应用程序,其中:

所以现在我让用户在一条mysite.com/payment-complete路线上,但也想显示发回的数据。

我有一个app.post端点可以成功获取数据:

app.post("/payment-complete", async (req, res) => {
  const transactionID = req.body.trans_id;
});

我如何将数据传递给已经在该路线上的用户?还是在页面渲染之前传递数据?

数据流是第三方>我的服务器>用户,我不知道如何使这项工作。

对于这方面的任何帮助/指导,我将不胜感激。

标签: node.jsreactjsexpress

解决方案


如果有人遇到这个问题 - 问题是在 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 视图来代替,但我想从单独的路由文件进行渲染。


推荐阅读