【问题标题】:Passing data between pages html5在页面之间传递数据html5
【发布时间】:2015-12-25 07:26:03
【问题描述】:

我目前正在将一个移动网站升级到 Html5/php,之前我有很多不同的 php 页面,但现在我使用的是单个 html5/php 页面。

在旧网站上,我会通过 url 传递变量并使用 $_GET 来检索它们,尽管我正在努力在 html5 中找到一个简单的替代方案。

我也在我的新网站中使用 Jquery mobile,虽然我不熟悉它。

我的html示例如下。

<div data-role="page" data-title="Page One" id="home">
         <div data-position="fixed" data-role="header">
         <h1>Pageone</h1>
    </div>

  <div data-role="content" data-theme="a">
    <ul class="menu">
        <li class="icn_browse"><a href="#browse?wtd=10">Browse</a><span></span></li>

           </ul>
        </div>
    </div>



  <div data-role="page" data-title="Page two" id="browse">
         <div data-position="fixed" data-role="header">
         <h1>Pagetwo</h1>
    </div>

  <div data-role="content" data-theme="a">

<!-- need to access the data from the home page here, more specifically the content of $_GET['wtd'] -->

        </div>
    </div>

所以我需要将数据从#home 传递到#browse,任何帮助将不胜感激。

【问题讨论】:

  • 您可以使用之前使用的相同机制,我假设您仍然使用$_GET 变量来显示所选页面。
  • 我尝试使用与以前相同的方法但失败了,我还尝试在调用页面时将 data-ajax 设置为 false。我只想在从另一个页面传递的页面中显示数据,以下在 htm5
    中定义了一个新页面,以便您可以在一个 html 文件中包含任意数量的页面。

标签: javascript php ajax html


【解决方案1】:

丑陋但确实可行的解决方案包括构建一个小的 PHP 生成的 JavaScript sn-p 来处理此任务:

请将它之后放在脚本运行时您希望可用的内容(在大多数情况下它将是文件的结尾。另一种解决方案涉及使用 $(document) 包装此脚本。准备好(function() { //... })) 块:

// Assuming your $_GET['wtd'] contains only an ID to fetch, without '#':
var p = "<?php echo $_GET['wtd']; ?>";
$("#"+p).prepend($("[data-role='content']");

虽然我不鼓励以这种方式使用 JavaScript。它违反了unobtrustive JS 的规则。基本上,该解决方案完全依赖于 JavaScript,因此它无法在禁用 JavaScript 的环境(如大多数内联网)中工作。

可能更好的解决方案,不使用 JavaScript,但只有 PHP 是在 SGML 解析器中解析整个站点并将文档的某些节点移动到正确的位置,然后再次序列化文档。也许您会失去文档的可读性,但它肯定会起作用。它比使用 jQuery 的解决方案要复杂得多,但如果您有兴趣,我建议您阅读 PHP 标准库中提供的手册 od DOMDocument 类:http://nl.php.net/manual/en/class.domdocument.php

【讨论】:

  • 当然有一个更简单的解决方案,当我调用页面时,它仍然通过 url 字符串发送我的数据,home.php#browse?wtd=10,我不喜欢 javascript 方法,但仅此而已看起来像是可能的选择 atm。
猜你喜欢
  • 1970-01-01
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 2016-11-10
  • 2011-04-02
  • 1970-01-01
相关资源
最近更新 更多