我在页面1上的一系列页面并将一些数据保存到会话中。我现在单击第1页上的链接并转到第2页。我再次将一些数据保存到相同的Session变量中。我多次将这些数据保存到同一个Session变量中。我现在点击后退按钮几次返回到系列中的上一页。会话变量中将存在哪些数据?从系列的最后一页保存的数据或我现在坐在使用后退按钮的页面中的数据。会话变量内容和后退按钮
回答
保存到会话中的所有数据都保留在会话变量中,直到您将其删除或会话过期。会话中的Back/forward/etc不会影响会话变量的内容 - 除非加载页面,您将更改这些变量的内容。
以下评论不正确。通过后退按钮访问的页面将显示当时捕获的SESSION变量信息。作为一名Coldfusion开发人员,我可以证实这一点。 Mobile Safari是唯一的例外,它充当下面的评论。按下后退按钮时,大多数浏览器都不会返回服务器(从缓存中检索数据)。移动Safari不遵守这个范例。我目前正试图找到解决方法。我会让你知道,如果我找到解决方案... –
我假设你在谈论PHP--如果是这样,那么保存在$ _SESSION中的数据在按下不同页面时不会改变,因为会话数据保存在服务器上。 简而言之:无论导航如何,您都将始终保留上次保存的会话数据。
试一试:(假设你使用PHP)
page1.php中:
<?php
session_start();
$_SESSION['page1'] = 'from page1';
var_dump($_SESSION['page1']);
var_dump($_SESSION['page2']);
?>
<br /><a href="page2.php">page 2</a>
使page2.php:
<?php
session_start();
$_SESSION['page2'] = 'from page2';
var_dump($_SESSION['page1']);
var_dump($_SESSION['page2']);
转到第1页,点击链接到page2,点击返回。 您会看到$_SESSION['page2']
的值仍然具有您设置的值。
会话变量中将存在哪些数据?
无论您将数据放在那里,直到覆盖它(或删除它)或会话过期。无论用户使用浏览器做什么或者他们如何从一个页面移动到另一个页面,会话都不受用户/浏览器的控制。它由您的服务器端代码控制。
如果用户在执行完页面请求后执行请求,那么会话值将发生什么变化完全取决于您。如果您的代码假设用户来自页面3并更新会话值以指示在页面4上,则会话值将被更新。如果您的代码检查会话值中以后的状态并保留该状态,则会话值不会更新。
这完全取决于你如何使它工作。
- 1. 会话变量,类和后退按钮
- 2. Javascript/jquery:后退按钮不会改变内容
- 3. 注销会话恢复后退按钮
- 4. Facebook对话框和后退按钮
- 5. 按下后退按钮会话不会破坏
- 6. 会显示消息和后退按钮
- 7. 如何让后退按钮和会话状态一起工作?
- 8. asp.net中的浏览器后退按钮和会话状态
- 9. Node.js和快速会话处理 - 后退按钮问题
- 10. 后退按钮和内嵌框架
- 11. NavigationController改变后退按钮
- 12. IOS改变后退按钮
- 13. 设置按钮会话变量单击
- 14. 按下后退按钮时会显示两次对话框
- 15. ActionBar后退按钮和Android后退按钮之间的区别
- 16. Actionbarsherlock后退按钮和智能手机的后退按钮
- 17. 后退按钮“和”编辑按钮
- 18. 单击浏览器后恢复会话变量[BACK]按钮
- 19. windows phone 7,帮助后退按钮和页面,保存变量
- 20. jquerymobile和android后退按钮
- 21. 后退按钮和Javascript
- 22. 后退和前进按钮
- 23. Vue.js Push和后退按钮
- 24. 后退按钮,jsoup和AsyncTask
- 25. JSF:NUMBER_OF_VIEWS_IN_SESSION和后退按钮
- 26. mvc和后退按钮
- 27. Iframe和后退按钮
- 28. 后退按钮和ViewPager
- 29. mediaPlayer和后退按钮
- 30. 挖空和后退按钮
您正在使用哪种语言?向我们显示您的代码 – JMax