[英]Share data between html pages
我想將一些數據從一個HTML頁面發送到另一HTML頁面。 我通過類似http://localhost/project/index.html?status=exist
的查詢參數發送數據。 這種方法的問題在於數據保留在URL中。 是否有其他方法可以使用JavaScript或jquery在HTML頁面之間發送數據。
為什么不將值存儲在諸如sessionStorage
或localStorage
類的HTML5存儲對象中,請訪問HTML5存儲文檔以獲取更多詳細信息。 使用此功能,您可以在本地臨時/永久存儲中間值,然后在以后訪問您的值。
要存儲會話的值:
sessionStorage.getItem('label')
sessionStorage.setItem('label', 'value')
或更永久地:
localStorage.getItem('label')
localStorage.setItem('label', 'value')
因此,您可以使用HTML5存儲對象(臨時)在多個頁面之間存儲表單數據,甚至可以在重新加載后保留這些數據。
我知道這是一篇舊文章,但想想我會分享我的兩分錢。 @Neji是正確的,因為您可以使用sessionStorage.getItem('label')
和sessionStorage.setItem('label', 'value')
(盡管他的setItem
參數是向后的,沒什么大不了的)。 我更喜歡以下內容,我認為它更簡潔:
var val = sessionStorage.myValue
代替getItem
和
sessionStorage.myValue = 'value'
代替setItem
。
另外,應該注意的是,為了存儲JavaScript對象,必須對它們進行字符串化以進行設置,並進行解析以獲取它們,如下所示:
sessionStorage.myObject = JSON.stringify(myObject); //will set object to the stringified myObject
var myObject = JSON.parse(sessionStorage.myObject); //will parse JSON string back to object
原因是sessionStorage將所有內容存儲為字符串,因此,如果您只說sessionStorage.object = myObject
您得到的只是[object Object],這對您沒有太大幫助。
可能如果您只想傳輸供JavaScript使用的數據,則可以使用像這樣的哈希標簽
http://localhost/project/index.html#exist
因此,一旦完成檢索數據,則顯示消息,並將window.location.hash更改為合適的值。現在,每當刷新頁面時,將不會顯示井號hashtag
注意:當您將使用此查詢字符串代替ot查詢字符串時,服務器無法檢索/讀取正在發送的數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.