[英]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.