在 HTML 页面之间共享数据

新手上路,请多包涵

我想将一些数据从一个 HTML 页面发送到另一个 HTML 页面。我通过查询参数发送数据,例如 http://localhost/project/index.html?status=exist 。这种方法的问题是数据保留在 URL 中。是否有任何其他方法可以使用 JavaScript 或 jquery 跨 HTML 页面发送数据。

原文由 Muhammad Usman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 723
2 个回答

为什么不将值存储在 HTML5 存储对象中,例如 sessionStoragelocalStorage ,请访问 HTML5 存储文档 以获取更多详细信息。使用它,您可以在本地临时/永久存储中间值,然后稍后访问您的值。

存储会话的值:

 sessionStorage.setItem('label', 'value')
sessionStorage.getItem('label')

或更永久:

 localStorage.setItem('label', 'value')
localStorage.getItem('label')

因此,您可以使用 HTML5 存储对象(甚至可以在重新加载后保留这些对象)在多个页面之间存储(临时)表单数据。

原文由 Neji 发布,翻译遵循 CC BY-SA 4.0 许可协议

我知道这是一个旧帖子,但我想我会分享我的两分钱。 @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],这对您没有太大帮助。

原文由 user2359695 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题