在我的网站上,用户选择他们想要的颜色,在做出选择之后,他们将进入下一页。目前,每次点击颜色时,我都会将其添加到JavaScript数组中。当他们准备进入下一页时,我想传递这一系列颜色,以便我可以在下一页显示他们选择的颜色。所以我的问题是我如何用jQuery或PHP实现这个目标?
感谢。
答案 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应用程序方法,有三种方法可以考虑这样做:
PHP中的会话变量。快速搜索应该为您提供存储会话变量所需的功能。超级容易。如果你在下一页需要它们回到JavaScript中,你可以将PHP回显到JS变量或者更好,然后使用服务器上的逻辑将类或样式标记填充到标记中。
缓存数据。 Cookie已经工作多年,并将在未来几年继续发挥作用。 ; - )
localStorage的。仅在最终用户肯定使用现代浏览器时才有用,因为localStorage是HTML5 API。巧合的是,我昨晚写了一篇关于localStorage的帖子:http://gregpettit.ca/2012/fun-with-html5-localstorage-api/(这篇文章链接到另一个有用的Stack Overflow帖子以及一个外部教程)
如果你在客户端做某事,你可以实现#3并回退到#2。如果您使用的是#1,我不会为了备用而烦恼,因为它是服务器端。