2016-11-30 92 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將您的價值。