jQuery重定向传递数组

时间:2012-03-24 20:13:09

标签: php javascript

在我的网站上,用户选择他们想要的颜色,在做出选择之后,他们将进入下一页。目前,每次点击颜色时,我都会将其添加到JavaScript数组中。当他们准备进入下一页时,我想传递这一系列颜色,以便我可以在下一页显示他们选择的颜色。所以我的问题是我如何用jQuery或PHP实现这个目标?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式传递数组:

$.post('URL_Of_Next_Page', {'MyArray': actualArray});

要进行重定向,您可以这样做:

window.location.replace("URL_Of_Next_Page");

我不确定,但是如果你在重定向之前做了帖子,那么它可能有阵列,但我对此表示怀疑。您可以将数组存储在会话变量中,也可以像建议的safarov那样存储,并通过查询参数传递。

适用于会话方式

$_SESSION['MyArray'] = json_encode(actualArray);

然后把它拿回来:

actualArray = json_decode($_SESSION['MyArray']);

要将JSONified用作字符串:

var actualArrayAsString = JSON.stringify(actualArray);

答案 1 :(得分:2)

您绝对可以在查询字符串中传递参数。看起来贾斯汀有一个好主意。对于我个人的Web应用程序方法,有三种方法可以考虑这样做:

  1. PHP中的会话变量。快速搜索应该为您提供存储会话变量所需的功能。超级容易。如果你在下一页需要它们回到JavaScript中,你可以将PHP回显到JS变量或者更好,然后使用服务器上的逻辑将类或样式标记填充到标记中。

  2. 缓存数据。 Cookie已经工作多年,并将在未来几年继续发挥作用。 ; - )

  3. localStorage的。仅在最终用户肯定使用现代浏览器时才有用,因为localStorage是HTML5 API。巧合的是,我昨晚写了一篇关于localStorage的帖子:http://gregpettit.ca/2012/fun-with-html5-localstorage-api/(这篇文章链接到另一个有用的Stack Overflow帖子以及一个外部教程)

  4. 如果你在客户端做某事,你可以实现#3并回退到#2。如果您使用的是#1,我不会为了备用而烦恼,因为它是服务器端。