【问题标题】:Javascript: Is there a simple way to pass data from one webpage to the other?Javascript:有没有一种简单的方法可以将数据从一个网页传递到另一个网页?
【发布时间】:2021-03-10 10:42:26
【问题描述】:

我有一个 .html 文件,我在其中单击一些复选框并将一些数据存储在一个数组中。

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

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

据我所知,一种方法是使用 Web Storage API,特别是 Window.localStorage

【问题讨论】:

  • 使用sessionStoragelocalStorage。或者简单地使用JSON.stringify(obj) 来获取一个字符串表示形式,以将您的查询字符串传递给其他页面。然后另一个页面可以使用JSON.parse() 将其重新放入对象中。您可能还需要将转义/取消转义为 URL 编码字符串。无论如何,这一切都很容易学习:)
  • 提及你自己的截止日期并不是最好的方法,因为它会让潜在的回答者望而却步。 localStorage 是一个非常简单的 API。试试看。
  • stackoverflow.com/questions/13509089/… 或提交 GET 表单并访问目标上的查询字符串
  • 您也可以使用location.hash - stackoverflow.com/questions/13509089/…

标签: javascript html


【解决方案1】:

这是一个使用基本 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(接收器):

此页面对查询字符串进行转义,然后将 JSON 文本解析为对象,可供使用。

<script>
    var json = location.search.substring(1);
    json = unescape(json);
    var obj = JSON.parse(json);
    console.log(obj);
</script>

【讨论】:

    【解决方案2】:

    Localstorage 非常简单 - 去吧。 唯一需要注意的是,它将数据保存在用户自己的计算机上,因此 (a) 其他用户无法使用,并且 (b) 能够通过正确的工具查看。

    不过,另一种选择是使用 &lt;form&gt; - 这就是它们的用途。

    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 并以 &lt;?php //php code here ?&gt; 开头,或者使用 Python 或其他一些后端语言。

    更多信息:

    https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data

    从您的问题来看,我认为 Localstorage 将是一个不错的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      相关资源
      最近更新 更多