我通过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”正在获取那个值,但我遇到了会话变量的问题
我该怎么做
答案 0 :(得分:35)
您可以使用
sessionStorage.SessionName = "SessionData"
,
sessionStorage.getItem("SessionName")
和
sessionStorage.setItem("SessionName","SessionData");
答案 1 :(得分:10)
会话存储在服务器端,您无法使用JavaScript修改它。会话可能包含敏感数据。
您可以使用document.cookie
修改 Cookie 。
您可以轻松找到许多如何修改Cookie的示例。
答案 2 :(得分:5)
您最好使用网络浏览器的 localStorage 。
您可以找到参考here
答案 3 :(得分:1)
了解sessionStorage
和localStorage
都很重要,因为它们都有不同的用途:
来自MDN:
所有Web存储数据都包含在浏览器内部的两个类似对象的结构内:sessionStorage和localStorage。第一个仍然存在 只要打开浏览器就保持数据(当浏览器处于打开状态时数据将丢失 关闭),即使浏览器处于 关闭,然后再次打开。
sessionStorage
-保存数据,直到关闭浏览器,在关闭选项卡/浏览器时删除数据。
localStorage
-即使关闭浏览器,也可以永久保存数据。但是,您以后不要再依赖存储在其中的数据了,数据可能会由于几乎所有原因而随时被浏览器删除,或者被用户删除,最佳实践是首先验证数据是否存在,然后继续其余数据。 (或者如果不存在,请重新设置)
要了解更多信息,请阅读:localStorage | sessionStorage