2016-11-30 71 views
2

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

在同一页上,我有一个弹出一个Backbone.js的模式和链接从其上另一个服务调用触发器和响应渲染到另一个click事件触发模式这伤害到另一个URL(如https://localhost:8000/home/index2) html页面。

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

回答

0

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

MDN Web Storage API

例如,如果你是第一个屏幕上,并调用服务,存储在localStorage的

localStorage.setItem('firstService', serviceResponseObject);

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

localStorage.getItem('firstService');

+0

可以在隐身模式下阅读吗? – Sekhar

+0

是的,它会的。 –

+0

有关InCognito模式的更多信息,请访问http://htmlui.com/blog/2011-08-23-5-obscure-facts-about-html5-localstorage.html –

0

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

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

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

你选择的东西实际上取决于,如果你更详细地解释你在页面间传递什么信息可能是最好的。

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