我做了一个登录页面。当用户登录时,向 API 发送请求。此 API 是 PHP 并检查用户名和密码。当两者都正确时,将发送回唯一密钥(将其放置在数据库中以供进一步使用:用户 ID 和网站所需的其他内容)。在该密钥被发回后,它被放置在一个 cookie 中:
$.cookie("session", JSON.stringify(result));
设置 cookie 后,我将用户发送到新页面:
location.href = 'dashboard.htm';
在此页面中,jQuery 检查 cookie “会话”是否存在。如果不是,则将用户发送回登录页面。
sessionId = ($.cookie("session") ? JSON.parse($.cookie("session")).SessionId : 0);
return sessionId;
这在 Chrome 中运行良好,但 IE (8/9) 对此有一些问题。我发现当您访问dashboard.htm 时,会话就存在了。我一按 F5,会话就消失了。有时cookie根本没有设置!
我似乎无法弄清楚为什么会在 IE 中发生这种情况。有人知道吗?也欢迎保存该唯一密钥的其他选项/想法。
提前致谢。