保留节点js中的响应值

时间:2016-11-30 12:24:47

标签: javascript node.js backbone.js

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

在同一页面上,我有一个弹出Backbone.js模式的链接,并从模态中触发一个点击事件触发,触发另一个URL(例如https://localhost:8000/home/index2),另一个服务调用触发,响应是渲染到另一个html页面。

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

2 个答案:

答案 0 :(得分:0)

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

MDN Web Storage API

例如,如果您在第一个屏幕上并呼叫服务,请将服务信息存储在localStorage

localStorage.setItem('firstService', serviceResponseObject);

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

localStorage.getItem('firstService');

答案 1 :(得分:0)

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

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

您还可以使用Cookie或localstorage在客户端存储一些数据。

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

如果它只是一个简单的值,我会选择使用查询参数。 例如。只需放入您的网址https://localhost:8000/home/index2?value=123,然后从node.js,req.query.value就可以获得您的价值。