使用javascript设置会话变量

时间:2013-08-06 09:10:49

标签: javascript session-variables

我通过Facebook登录我的网站后获得用户的姓名和电子邮件ID .. 我想使用javascript在登录表单本身的会话中添加这些变量; 我试过以下:

FB.api('/me', function(me) {
        if (me.name) {
            document.getElementById('auth-displayname').innerHTML = me.name; <% Session["fbName"] = me.name; %>
        }
}

它给出了像我这样的错误(在这一行:&lt;%Session [“fbName”] = me.name;%&gt;)在当前上下文等中不存在。我的div“auth-displayname”正在获取那个值,但我遇到了会话变量的问题

我该怎么做

4 个答案:

答案 0 :(得分:35)

您可以使用

sessionStorage.SessionName = "SessionData"

sessionStorage.getItem("SessionName")

sessionStorage.setItem("SessionName","SessionData");

查看http://caniuse.com/namevalue-storage

上支持的浏览器

答案 1 :(得分:10)

会话存储在服务器端,您无法使用JavaScript修改它。会话可能包含敏感数据。

您可以使用document.cookie修改 Cookie

您可以轻松找到许多如何修改Cookie的示例。

答案 2 :(得分:5)

您最好使用网络浏览器的 localStorage

您可以找到参考here

答案 3 :(得分:1)

了解sessionStoragelocalStorage都很重要,因为它们都有不同的用途:

来自MDN

  

所有Web存储数据都包含在浏览器内部的两个类似对象的结构内:sessionStorage和localStorage。第一个仍然存在   只要打开浏览器就保持数据(当浏览器处于打开状态时数据将丢失   关闭),即使浏览器处于   关闭,然后再次打开。

sessionStorage -保存数据,直到关闭浏览器,在关闭选项卡/浏览器时删除数据。

localStorage -即使关闭浏览器,也可以永久保存数据。但是,您以后不要再依赖存储在其中的数据了,数据可能会由于几乎所有原因而随时被浏览器删除,或者被用户删除,最佳实践是首先验证数据是否存在,然后继续其余数据。 (或者如果不存在,请重新设置)

要了解更多信息,请阅读:localStorage | sessionStorage