Javascript:有没有一种简单的方法可以将数据从一个网页传递到另一个网页?

时间:2016-06-07 22:17:02

标签: javascript html html5

我有一个.html文件,我点击一些复选框并在数组上存储一些数据。

我只需要将数组数据传递给另一个.html文件。

在Stack Overflow上搜索我找到了一些答案,例如"How to pass JavaScript object from one page to other"

根据我的想法,一种方法是使用Web Storage API,特别是Window.localStorage

2 个答案:

答案 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将是一个不错的选择。