我还没有找到这个问题的直截了当的答案。
如果用户输入密码,我有一个显示额外选项的管理面板。如果密码正确,这些额外选项将附加到页面。
加载超级管理员选项并将其附加到页面的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
返回额外选项的标记。
问题是,当有人输入正确的密码导航离开页面然后点击后退按钮时,它会加载原始版本的管理页面,而不是额外的选项。
我该怎么做才能让缓存将页面保存在其状态下的额外选项?
答案 0 :(得分:0)
我决定忘记异步执行此操作,并使用POST方法和相同网址的操作提交表单。然后,PHP模板使用已设置的$ _SESSION变量呈现管理选项。