我有一个.html文件,我点击一些复选框并在数组上存储一些数据。
我只需要将数组数据传递给另一个.html文件。
在Stack Overflow上搜索我找到了一些答案,例如"How to pass JavaScript object from one page to other"。
根据我的想法,一种方法是使用Web Storage API,特别是Window.localStorage。
答案 0 :(得分:3)
这是一个使用基本HTML和查询字符串操作而不使用localStorage或sessionStorage的示例,尽管这些实际上是非常简单的API,值得研究。
HTML1(发件人):
此页面将获取对象的字符串表示形式,然后在查询字符串中转义其内容以进行传输。
<script>
var obj = { givenName: 'John', familyName: 'Doe', age: 45 };
console.log(obj);
function passToNextPage() {
window.location = 'test2.html?' + escape(JSON.stringify(obj));
}
</script>
<button onclick="passToNextPage();">Pass</button>
HTML2(接收方):
此页面对查询字符串进行unescape,然后将JSON文本解析为对象,随时可以使用。
<script>
var json = location.search.substring(1);
json = unescape(json);
var obj = JSON.parse(json);
console.log(obj);
</script>
答案 1 :(得分:2)
Localstorage很简单 - 去吧。 唯一的问题是它将数据保存在用户自己的计算机上,因此(a)其他用户无法使用,并且(b)能够使用正确的工具进行查看。
另一个选择是使用<form>
- 这就是他们的目的。
<强> page1.html 强>
<form action="page2.html" action="get">
Name: <input name="thename" type="text" /><br>
<input type="submit" value="Send It" />
</form>
在page2
中,要从第一页获取数据,您可以使用PHP(这意味着您的页面将被命名为page2.php
并以<?php //php code here ?>
开头,或者使用Python或某些其他后端语言。
了解更多信息:
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data
从您的问题来看,我认为Localstorage将是一个不错的选择。