我有两个页面,当用户点击第一个按钮时,我会发出一个ajax请求并使用以下方法重定向到第二个页面。
window.location.href="newpage.php";
现在我的目的是将ajax请求的结果用于第二页。但是当加载第二页时,似乎所有来自ajax请求的json数据都丢失了。无论如何要实现这个目标吗?
答案 0 :(得分:3)
像Jamie Taylor一样,如果你正在切换页面,请不要使用AJAX。
无论您使用AJAX请求的文件中的代码是什么,请将该代码移至newpage.php
的开头。
答案 1 :(得分:2)
使用Cookie或HTML5本地存储在获取后保存JSON数据。然后,数据将随时从用户的浏览器中获得。一个cookie可以容纳大约4KB(虽然我不确定这是否依赖于浏览器)所以如果你要保存非常少量的JSON就足够了。否则,您应该使用本地存储。如果我没记错的话,你可以保证至少2.5 MB的数据(在Chrome中)。其他浏览器可能会为您提供更多(read more)。
查看jQuery localStorage plugin以便于使用本地存储API。
答案 2 :(得分:1)
网址的长度有限。根据您的json数据,使用“window.location.href”可能会导致错误。
@see What is the maximum length of a URL in different browsers?
你应该尝试创建一个< form method ='POST'id =“yourFormId”>对象并使用您需要的数据填充表单字段:
< input type =“hidden”id =“jsondata”name =“jsondata”value =“myJsonString”>
然后你可以使用javascript触发重定向“document.getElementById('yourFormId')。submit()”