保留节点js中响应的值

Retaining a value from a response in node js

在页面加载时,比如对于特定路由(例如 https://localhost:8000/home/index),将调用服务并将服务的响应呈现到客户端的页面。

在同一页面上,我有一个 link 弹出一个 Backbone.js 模态,从模态触发点击事件触发另一个 url(例如 https://localhost:8000/home/index2) 触发另一个服务调用并将响应呈现到另一个 html 页面。

在同一个 html 页面上,我想显示在页面加载时从第一次服务调用中获得的值。但是,我无法保留该值,因为每次都有两个不同的请求。因此,我什至无法将第一次响应的值附加到请求对象并再次使用它。

您可以使用 JavaScripts Web Storage API 在客户端浏览器上存储信息。

MDN Web Storage API

例如,如果您在第一个屏幕上调用服务,则将服务信息存储在localStorage

localStorage.setItem('firstService', serviceResponseObject);

导航到第二页后,您可以使用 localStorage 读取以前的服务信息

localStorage.getItem('firstService');

有多种方法可以在请求之间存储状态。

如果您使用的是 Express 等服务器,则可以将结果存储在会话中。或者您甚至可以将状态存储在请求查询参数中,或来自 POST 请求。

您还可以在客户端存储一些数据,例如使用 Cookies 或本地存储。

您的选择取决于具体情况,如果您更详细地解释您在页面之间传递的信息类型可能是最好的。

如果它只是一个简单的值,我会选择使用查询参数。 例如。只要放在你的 url https://localhost:8000/home/index2?value=123,然后从 node.js,req.query.value 就有你的价值。