【问题标题】:How to pass array of data from one webpage to the other?如何将一组数据从一个网页传递到另一个网页?
【发布时间】:2011-01-04 04:52:46
【问题描述】:

我正在尝试将三个数据数组从第一个网页使用的一个 .js 文件发送到第二个网页使用的另一个 .js 文件。

第一个网页中的数据是动态构建的,因此这三个数组将被发送到下一个网页。

谁能推荐一些javascript代码或教程。

请帮忙........

谢谢各位。 . . . ..

【问题讨论】:

标签: javascript html


【解决方案1】:

我建议使用 JSON 数据格式。 JSON 类似于 XML,只是更容易解析。一些很好的例子可以在 Jquery 的页面上找到:

http://api.jquery.com/jQuery.getJSON/

阅读 JSON 提要所需的一切都可以在 jQuery 上找到。如果您需要了解如何构建 JSON 提要,可以在此处阅读:

http://www.json.org/js.html

【讨论】:

    【解决方案2】:

    这对于严格的 javascript 和 html 来说真的很难。以下是一些选项:

    1. 您可以将数组存储在隐藏的表单变量中并将其发布到目标页面
    2. 如果数据集足够小 (
    3. 如果您只使用最现代的浏览器(阅读:HTML5),您可以使用 localstorage
    4. 您可以对数据进行编码并在 url 中传递它

    不过,总的来说,这些主要是黑客攻击。通常这种工作会通过某种类型的服务器端处理(perl、php、asp.net 等)来增强,您可以在其中跨请求使用某种存储(即 asp.net 中的会话)。

    【讨论】:

    • 或者他可以使用一个没有
    【解决方案3】:

    您可以使用 Web Storage API,并包含一个 polyfill 来移植旧浏览器的功能:

    这两个都使用 window.name 来提供类似会话的状态。这可能足够安全,也可能不足以满足您的需求。

    从那里,您可以对所有浏览器使用以下代码:

    // Store on previous page
    sessionStorage.setItem("yourArray", JSON.stringify(yourArray));
    
    // Restore on following page
    var yourArray = JSON.parse(sessionStorage.getItem("yourArray"));
    

    编辑:旧版浏览器可能需要以下代码示例。这样可以将数组序列化为字符串,因为 sessionStorage 仅支持字符串键值对:

    【讨论】:

      【解决方案4】:

      查看 jQuery.data() 和朋友。参考:http://api.jquery.com/category/data/

      【讨论】:

        【解决方案5】:

        您可以为此目的使用cookie

        【讨论】:

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