Javascript sessionStorage.clear()不工作

Javascript sessionStorage.clear()不工作,javascript,php,session,storage,session-storage,Javascript,Php,Session,Storage,Session Storage,我在一个项目中成功地使用了sessionStorage,但有一点需要注意:我无法使用clear()操作符消除存储,正如文档所述 我是在注销网站的管理模式时这样做的,这包括单击列表中的注销项目,如下所示: <li><a href="admin_logout.php">Log Out</a></li> 一切正常。我似乎无法融入到日常工作中的是清除会话存储。对于我的admin\u logout.php文件的文本,我尝试了: <?php sessi

我在一个项目中成功地使用了sessionStorage,但有一点需要注意:我无法使用
clear()
操作符消除存储,正如文档所述

我是在注销网站的管理模式时这样做的,这包括单击列表中的注销项目,如下所示:

<li><a href="admin_logout.php">Log Out</a></li>
一切正常。我似乎无法融入到日常工作中的是清除会话存储。对于我的
admin\u logout.php
文件的文本,我尝试了:

<?php
session_start();
?>

<script>
sessionStorage.clear();
</script>

<?php
session_destroy();
@header('Location:./');
exit;
?>

sessionStorage.clear();
…以及:

<?php
session_start();

echo '<script>';
echo 'sessionStorage.clear();';
echo '</script>';

session_destroy();
@header('Location:./');
exit;
?>

也许指出根本原因是,当我放置:

?>
<script>
alert("HELLO");
</script>
<?php
?>
警惕(“你好”);

我认为这是因为您正在服务器端重定向,而
会话存储.clear()
正在客户端进行。我相信在你有机会跑步之前,你已经重新定向了。

阿利坎是正确的;我需要将存储清除代码封装在回调函数中:

<?php
session_start();
session_destroy();
<script type="text/javascript">

function firstFunction(_callback){
    sessionStorage.clear();
    _callback();
}

function secondFunction(){
    firstFunction(function() {
        window.location = './';
    });    
}
secondFunction();
</script>

那么,为什么警报()放在文件的同一位置时不运行?无论如何,它都应该运行。这就是我怀疑的原因。警报也是客户端代码。Javascript通常没有运行的机会,因为在浏览器中呈现它之前,您会重定向它。您是对的……我必须设置一个回调来让它工作。我会发布答案。问题完全相同,只是我的警报被调用了。Tks
<?php
session_start();
session_destroy();
<script type="text/javascript">

function firstFunction(_callback){
    sessionStorage.clear();
    _callback();
}

function secondFunction(){
    firstFunction(function() {
        window.location = './';
    });    
}
secondFunction();
</script>