HTML5会话存储无法正常工作

时间:2014-09-20 21:33:05

标签: javascript html5

当用户进行身份验证时,我正在使用会话存储来获取我在我的URL末尾生成的访问令牌。这对我本地主机不起作用,请查看我创建的笔作为输出示例。 http://codepen.io/anon/pen/eHGBf#access_token=12345.67890

以下是我正在使用的代码:

var token = window.location.hash.substr(1).split("=");
var storeToken = token[1];

if (typeof(Storage) != 'undefined') {
    sessionStorage.setItem('accessToken', storeToken);
    document.getElementById('access_token').innerHTML = sessionStorage.getItem('accessToken');
} else {
    document.getElementById('access_token').innerHTML = 'Sorry, your browser does not support Web Storage';
}   

并显示访问令牌:

<div id="access_token"></div>

当我刷新本地主机上的页面(没有URL中的访问令牌)或导航到其他页面并返回到ID已显示令牌的主页时,它返回'undefined'并且我必须登录再次。我以为应该保存令牌? 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

    var token = window.location.hash.substr(1).split("=");
    var storeToken = token[1];

    if (storeToken) {
        sessionStorage.setItem('accessToken', storeToken);
    }

    if (sessionStorage.getItem('accessToken')) { 
        document.getElementById('access_token').innerHTML = sessionStorage.getItem('accessToken'); 
    }