• 页面传值及数据存储的几种方法


     本篇文章将主要介绍几种数据存储的方法,不要事事都想着数据库,数据库那么神圣的东西建议还是不要大材小用,它有更重要的使命,以后再讨论。

    先从页面跳转传值讲起,那么问题来了,就是我从这个页面a跳转到页面b的时候带着所点击div的所对应的属性值一起传过去,用什么样的方法呢,首先想到通过url带参传输过去,显然是可以的。第二种方法就是存在一些存储机制当中,就以sessionStorage为例,那么sessionStorage怎么使用呢?还有其他的什么存储机制,分别有什么不同,用法又是如何?他们的使用场景又是怎样?别急,且听我慢慢道来。

    一、通过url带参传输

          1.保存数据页面 (urlData_set.html)

    <!DOCTYPE HTML> 
    <html> 
        <head> 
            <meta charset="utf-8"> 
            <title>url存值跳转</title> 
        </head> 
         
        <body> 
            <input id="msg" type="text"/>
            <input id="setData" type="button" value="保存数据"/>
        </body> 
    </html>
    <script type="text/javascript">
        window.onload = function() 
        { 
            var msg = document.getElementById("msg"); 
            var setData = document.getElementById("setData"); 
             
            setData.onclick = function()//存入数据 
            { 
                if(msg.value) 
                { 
                    alert("信息已保存到url中"); 
                    location.href="urlData_get.html?"+"txt="+encodeURI(msg.value);
                } 
                else 
                { 
                    alert("信息不能为空"); 
                } 
            } 
        }  
    </script> 
    View Code

      2.获取数据页面(urlData_get.html)

    <!DOCTYPE HTML> 
    <html> 
        <head> 
            <meta charset="utf-8"> 
            <title>url存值跳转</title> 
        </head> 
         
        <body> 
            <input id="getData" type="button" value="获取数据"/> 
        </body> 
    </html>
    <script type="text/javascript"> 
        window.onload = function() 
        { 
            var getData = document.getElementById("getData"); 
            
            getData.onclick = function()//获取数据 
            { 
                var loc = location.href;
                var n1 = loc.length;//地址的总长度
                var n2 = loc.indexOf("=");//取得=号的位置
                var msg = decodeURI(loc.substr(n2+1, n1-n2));//从=号后面的内容 
                if(msg) 
                { 
                    alert("url中的值为:" + msg);
                    //document.write(msg) 
                } 
                else 
                { 
                    alert("url无参数值!"); 
                } 
            } 
        } 
    </script>  
    View Code

    二、通过sessionStorage存储数据

      1.保存数据(sessionStorage_set.html)

    <!DOCTYPE HTML> 
    <html> 
        <head> 
            <meta charset="utf-8"> 
            <title>本地存储SessionStorage</title> 
        </head> 
         
        <body> 
            <input id="msg" type="text"/> 
            <input id="setData" type="button" value="保存数据"/> 
        </body> 
    </html>
    <script type="text/javascript"> 
        window.onload = function() 
        { 
            var msg = document.getElementById("msg"); 
            var setData = document.getElementById("setData"); 
             
            setData.onclick = function()//存入数据 
            { 
                if(msg.value) 
                { 
                    sessionStorage.setItem("data", msg.value); 
                    alert("信息已保存到data字段中"); 
                    window.location.href="sessionStorage_get.html"
                } 
                else 
                { 
                    alert("信息不能为空"); 
                } 
            } 
        } 
    </script>  
    View Code

      2.获取数据(sessionStorage_get.html)

    <!DOCTYPE HTML> 
    <html> 
        <head> 
            <meta charset="utf-8"> 
            <title>本地存储SessionStorage</title> 
        </head> 
         
        <body> 
            <input id="getData" type="button" value="获取数据"/> 
        </body> 
    </html>
    <script type="text/javascript"> 
        window.onload = function() 
        { 
            var getData = document.getElementById("getData"); 
            
            getData.onclick = function()//获取数据 
            { 
                var msg = sessionStorage.getItem("data"); 
                if(msg) 
                { 
                    alert("data字段中的值为:" + msg); 
                } 
                else 
                { 
                    alert("data字段无值!"); 
                } 
            } 
        } 
    </script>  
    View Code

     简直完美,perfect...

    上面以两个简单的demo提现了前端存取数据的方法,那么sessionStorage究竟还有哪些用法?它和localStorage、cookie究竟有什么区别?localStorage、cookie又该怎么用?继续往下看......

    https://www.cnblogs.com/ranyonsue/p/6402687.html

    三、漫谈cookie、localStorage、sessionStorage

      1.cookie

      

      

     

  • 相关阅读:
    redis集群报Jedis does not support password protected Redis Cluster configurations异常解决办法
    redis集群密码设置
    Redis 3.2.4集群实战
    Redis3.2.4 Cluster集群搭建
    redis集群环境的搭建和错误分析
    Centos iptables防火墙关闭启动详解
    动态的表格数据
    ubuntu使用抓包工具,charles
    layer结合art实现弹出功能
    禅道开源版源码安装
  • 原文地址:https://www.cnblogs.com/dancer0321/p/8321103.html
Copyright © 2020-2023  润新知