【问题标题】:Session Storage会话存储
【发布时间】:2016-08-26 14:53:30
【问题描述】:

我正在尝试弄清楚如何为我的网站使用会话存储来传递和读取信息。

我需要 sessionStorage 将信息从我的商品销售页面传递到新的购买摘要页面,该页面将显示购买的商品列表、购买的数量、每个商品的小计、所有购买的商品的小计,购买税(7.4%)和购买总额。当商品销售页面的正文中发生卸载事件时,应存储 sessionStorage 变量,当正文中发生 onload 事件时,购买摘要页面应读取 sessionStorage 变量。

【问题讨论】:

  • 您使用的是哪种技术?你用的是asp.net还是java还是别的?

标签: javascript html cookies


【解决方案1】:

通过 Session["salesdata"] = SalesdataObj; 声明一个类似 Salesdata 的类来保存变量并将其存储在会话中 并通过 Salesdata obj = (Salesdata)Session["salesdata"]

在其他页面中检索

【讨论】:

    【解决方案2】:

    如何创建和存储 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,它将显示一个提示框,询问用户的姓名,并将用户名 cookie 存储 365 天,通过调用 setCookie 函数: 函数 checkCookie() { var username=get

    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

    【讨论】:

      【解决方案3】:

      对于 Sessionstorage,我使用 sessionJS,它有助于更​​轻松地读取、写入和删除 sessionStorage 项。

      看看: https://github.com/Bart-Holland/sessionJS

      也许这对你也有帮助。

      虽然您可能希望使用本地存储而不是会话存储。 简而言之,区别在于关闭浏览器时您保留本地存储,而会话存储将被删除。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-07-06
        • 2011-06-03
        • 2011-10-03
        • 2017-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多