在第1页上,我有大量来自服务器的行数据(JSON)。 我想在第2页上显示这些数据,这是在点击第1页时要重定向到的页面。 我在服务器上使用Javascript / Jquery和PHP代码。
我在其他地方读过这可以使用表单来完成,但是如何为字段赋值? 有人能说明这是怎么做到的吗?
答案 0 :(得分:2)
正如我在评论中提到的,有多种方法可以达到你想要的,决定一种或另一种方式将高度取决于你想做什么或做什么:
在决定使用某种方法之前,您需要考虑这些问题的答案。以下是一些选项:
您可以将数据放在第1页的form
中(无论是格式化还是仅作为第2页将要重新处理的一个大块),并将数据从一个提交到另一个。
<form method="POST" action="page2.php">
<textarea name="data">YOUR DATA HERE</textarea>
</form>
如果您已经有表单将数据从第1页发送到第2页,请考虑将其添加为隐藏输入,您可以在第2页上阅读。
优点:
缺点:
对于您的特定情况:我可能不会采用这种方法,因为您要来回发送(大量)数据,这对性能不利,特别是在移动连接中。
您可以将数据存储在第1页的cookie中,然后在第2页上读取该Cookie。您可以在JavaScript(客户端)或PHP(服务器端)中实现它,结果将是等效的。
<?php
$cookie_name = "data";
$cookie_value = "YOUR DATA HERE";
setcookie($cookie_name, $cookie_value, time() + (3600 * 24), "/");
?>
优点:
缺点:
针对您的具体情况:我也不会采用这种方法。它不太安全,并且无论如何都会在每个页面加载时将cookie发送到服务器。
在将数据发送到第1页之前将数据存储在数据库中(如果您已将数据存储在数据库中并且不想重新运行查询,因为它需要很长时间,您可以创建一个缓存版本的数据库结果),然后在第2页读取该记录。
或者,您可以遵循类似的方法,但不是将数据存储在表中,而是将结果保存在文件中。然后第2页将读取该文件并获取数据。
优点:
缺点:
针对您的特定情况:这可能就是您现在正在做的事情,并且您想要更改它:)
另一个HTML5功能,允许您创建本地object-oriented database,您可以使用键索引存储和检索对象。
优点:
缺点:
对于您的特定情况:我不会使用此方法,因为它很复杂且不完全支持。
HTML5引入了Web Storage API,其中包含两种在用户浏览器中本地存储数据的方法:localStorage和sessionStorage。两者之间的区别在于,即使浏览器关闭(localStorage),其中一个数据仍然存在,而另一个数据只有在页面会话处于活动状态时才会存在(sessionStorage)
<script type="text/javascript">
localStorage.setItem("data", "YOUR DATA HERE");
</script>
优点:
缺点:
针对您的特定情况:这是我要使用的方法,只要您的数据大小符合限制。
答案 1 :(得分:0)
您将在第1页上获取数组中的数据。 你必须在第2页传递这些数据才能在那里显示结果。 要将数据传递到第2页,应执行以下步骤 1.获取json数组并序列化它。 {best alternative是获取用于获取json数据的参数。将这些参数传递给第2页并使用它们来获取json数据。所以不要传递json数据传递参数,而是可以从第2页再次生成json数据。} 2.要传递参数/ json数据序列化一个您喜欢的, 在dom中隐藏数据。 隐藏的数据将在内部形式。
<form action='.page2' method='POST' id='redirect_form'>
<hidden data in dom >
<button type='submit' which on click redirects to page 2>
</form>
3.在第2页上,使用您发布的数据来显示数组。