Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 注销后保留本地存储数据_Javascript_Html_Reactjs_Local Storage - Fatal编程技术网

Javascript 注销后保留本地存储数据

Javascript 注销后保留本地存储数据,javascript,html,reactjs,local-storage,Javascript,Html,Reactjs,Local Storage,我正在构建一个React web应用程序。用户通过第三方Oauth2服务登录后,它将令牌存储在localstorage中 当用户注销时,localstorage.clear()确实清除了令牌 Storage{length:0} 然而,如果我点击浏览器的后退按钮几次,我就会回到应用程序中,令牌会重新出现在本地存储中,就像我以前从未注销过一样 我试过: localstorage.clear()、localstorage.removietem('accessToken')、location.reloa

我正在构建一个React web应用程序。用户通过第三方Oauth2服务登录后,它将令牌存储在localstorage中

当用户注销时,localstorage.clear()确实清除了令牌

Storage{length:0}

然而,如果我点击浏览器的后退按钮几次,我就会回到应用程序中,令牌会重新出现在本地存储中,就像我以前从未注销过一样

我试过:

localstorage.clear()、localstorage.removietem('accessToken')、location.reload(true).


如何清除存储和历史记录

一旦清除/removietem,就无法返回localstorage值。我猜您正在使用redux并将您的令牌存储在商店的某个地方。当您单击“上一步”时,可能会在某个时候再次将其保存到localstorage。

是否尝试在控制台中检查localstorage内容?如果清除localstorage,则清除它。没有任何证据没有被澄清。没有证据表明出于某种原因没有重新添加。问题完全取决于您的情况,需要这样做听起来像是浏览器正在显示缓存页面,而不是还原本地存储。您可能应该使用
sessionStorage
,而不是
localStorage
,尽管我认为它不能解决此问题。我不确定此服务如何将令牌存储在localStorage中,然而,这似乎很奇怪。因为它是本地存储,所以必须由页面中加载的javascript代码设置。返回时,浏览器可以轻松地从缓存加载页面,并执行javascript,再次设置本地存储。同样,在本地存储中存储登录令牌有点奇怪。我尝试了会话存储和cookie。。。没有帮助。