首页 > 解决方案 > Express 中从 http POST 到 http GET 的路由

问题描述

我对使用 Node.js 和 Express 进行路由有一些疑问。我有一个正在运行的应用程序,您可以在其中以不同的方式添加项目(例如通过“URL”)。让我们进一步描述:

我必须使用不同的路线: /create:在带有下拉列表的表单中选择添加选项(例如,通过“url”) /create/validate:显示检索到的数据的表单

/创造:

当按下我主页上的“添加”按钮时,此路由上的 GET 请求将呈现一个表单,您可以在其中选择插入选项。在此表单中,您可以在下拉列表中选择一个选项(例如“URL”),然后按“提交”按钮。POST 请求收集输入的信息,这些信息在 req.body 中可用。

在将输入的数据发送到我的数据库之前,我想执行验证。这意味着,输入的数据在路由 /create/validate 上以验证表单(显示给用户)呈现。

这里的问题是,我无法将输入的数据从 /create POST 请求发送到表单的 /create/validate GET 请求。现在我的 /create POST 请求正在重定向到 /create/validate 路由并将 url 内容保存在本地变量中,然后可以在我的 /create/validate GET 请求中访问以进行进一步处理。

总结一下:我希望 /create/validate GET 请求中提供 /create POST 请求的输入数据。除了将内容保存到局部变量之外,还有其他方法吗?

标签: node.jsexpresshttp

解决方案


最好的方法是在你的 http 处理程序之外的某个地方保留一个全局变量。只要节点进程正在运行,这些数据就会在请求之间、服务器端一直存在。

否则,另一种解决方案是使用 node.js 的 localstorage https://www.npmjs.com/package/node-localstorage


推荐阅读