我正在开发的网站/应用程序有问题。这实际上是两个问题,有一个共同的原因。我正在使用 jQuery、jQueryMobile 和 PHP。
我有一个使用 PHP 会话的登录系统,用户输入用户名和密码,然后登录。在下一页上,检查以确保他们以授权用户身份登录(如果他们只使用 URL ,例如)和“注销”按钮。如果他们注销并尝试通过它拒绝访问的 URL 访问该页面,但是当按下“注销”时,它会将他们带到登录表单,如果他们使用浏览器的“后退”按钮,它会将他们带回“已登录” " 页面,因为它已被缓存。
我有一个提交 onChange 表单的下拉列表,该表单将在 PHP 中执行一些操作,然后将它们链接到带有标题的另一个页面(“位置:site/page.php”)。如果用户按下浏览器的后退按钮,页面将从缓存中加载,并且当前下拉值设置为他们之前选择的值。现在,要再次在同一选项上触发 onChange 事件,他们必须将下拉菜单更改为默认的“选择一个”选项,然后返回到他们想要的选项。
这两个问题似乎都是由缓存引起的。如果有一个有效的解决方案,我会喜欢的,但如果我需要关闭缓存,我知道这会影响速度,现在没问题。我尝试使用以下方法关闭缓存:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<link rel="stylesheet" href="/css/themes/CLIPTheme.css" />
<script language="text/javascript">
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
});
</script>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<script>
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false
});
</script>
...但这不起作用。如果有人可以帮助我,我将不胜感激!