会话存储
Session Storage
我正试图弄清楚如何使用我的网站的会话存储来传递和读取信息。
我需要sessionStorage将信息从我的商品销售页面传递到一个新的购买摘要页面,该页面将显示购买商品的列表、购买数量、每个商品的小计、所有购买商品的小计,购买税(7.4%)和购买总额。当商品销售页面正文中发生卸载事件时,应存储sessionStorage变量,当正文中发生加载事件时,采购摘要页面应读取sessionStorage变量。
通过session["Salesdata"]=SalesdataObj声明一个类似Salesdata的类来保存变量并将其存储在会话中;并通过Salesdata obj=(Salesdata)Session["Salesdata"]在另一个页面中检索
如何创建和存储Cookie:本例中的cookie将存储访问者的名称。访问者第一次访问网页时,会被要求填写自己的姓名。然后将名称存储在cookie中。下次访问者到达同一页面时,他或她将收到欢迎信息。
首先,我们创建一个函数,将访问者的名称存储在cookie变量中:
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : ";
expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
上面函数的参数包含cookie的名称、cookie的值以及cookie过期的天数。
在上面的函数中,我们首先将天数转换为有效日期,然后添加cookie到期前的天数。之后,我们将cookie名称、cookie值和过期日期存储在document.cookie对象中。获取Cookie值
然后,我们创建另一个返回指定cookie值的函数:
function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
上面的代码使用indexOf()方法在文档的cookie字符串中搜索cookie名称。
第一个indexOf()方法将返回找到cookie的位置。添加了"+和+"=",这样方法就找不到包含该名称的名称或值。
如果该方法返回-1,则cookie可能仍然存在于cookie字符串的最开始。为了消除这种情况,添加了另一个搜索,这次没有"+。检查Cookie值
最后,我们创建了一个函数,如果设置了cookie,它会显示欢迎消息,如果没有设置cookie,它将显示一个提示框,询问用户的姓名,并通过调用setCookie函数将用户名cookie存储365天:函数checkCookie(){var username=获取
Cookie("username");
if (username!=null && username!="")
{
alert("Welcome again " + username);
}
else
{
username=prompt("Please enter your name:","");
if (username!=null && username!="")
{
setCookie("username",username,365);
}
}
}
有关更多信息,请参阅:JavaScript Cookies
对于Sessionstorage,我使用sessionJS,它有助于更容易地读取、写入和删除Sessionstorage项。
看看:https://github.com/Bart-Holland/sessionJS
也许这对你也有帮助。
尽管您可能希望使用本地存储而不是会话存储。简而言之,区别在于当关闭浏览器时,您保留了本地存储,而会话存储将被删除。
- '会话'未定义-会话存储的Este JS/Express/Redis
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 使用会话Javascript存储数据
- Django会话与浏览器本地存储
- C#/Javascript会话存储
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- Javascript 会话存储变量未正确保存
- 不会删除会话存储
- Meteor会话变量未存储数组
- 如何改进此会话存储命名系统/for循环
- 测试本地存储/会话存储最大数据量
- 在 javascript var 中存储会话变量时脚本停止
- 会话节点.js + 护照.js + Redis,按 user.id 存储会话
- 烧瓶:如何手动存储会话数据
- 为什么在php脚本中存储会话数据会干扰Ajax脚本
- Java -如何使用gson库解析json响应+存储会话id,以便它可以被gae中的javascript函数访问
- 多个HTTP客户端请求不存储会话数据
- 存储会话的复选框信息
- 在表单提交时存储会话
- 使用node - js和“connect-mongostore”存储会话