【发布时间】:2018-06-16 05:47:25
【问题描述】:
我无法为这个问题找到一个直接的答案。
我有一个管理面板,如果用户输入密码,它会显示额外的选项。如果密码正确,这些额外的选项会附加到页面中。
加载超级管理员选项并将它们附加到页面的Javascript:
function showAdminOptions(e) {
e.preventDefault();
var data = new FormData();
data.append('additional_password', document.getElementById('additional_password').value);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'show_admin_options.php', true);
xhr.withCredentials = true;
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 400) {
// Success!
document.getElementById('show_admin_options').innerHTML = xhr.responseText;
} else {
alert("ERROR");
}
};
xhr.onerror = function() {
alert("ERROR");
};
xhr.send(data);
}
注意:如果密码正确,额外选项的标记将从show_admin_options.php 返回。
问题是,当输入正确密码的人离开页面然后点击返回按钮时,它会加载原始版本的管理页面而没有额外的选项。
我可以做些什么来让缓存将页面保存在它的状态w/额外的选项?
【问题讨论】:
-
这更像是一个
$_SESSION问题而不是缓存问题。 -
@NappingRabbit 我不这么认为,因为如果他们点击后退按钮,它不会显示额外的选项。但是,如果他们随后刷新页面,它确实会显示额外的选项。正在保存
$_SESSION变量。 -
哦,原来如此,我误会了
标签: javascript php ajax caching