JavaScript之读取和写入cookie

  首先先让咱们简单地了解一下cookie.
  在咱们制做网页的过程当中,常常须要把信息从一个页面传递给另外一个页面,这时候就须要用到JavaScript中的cookie机制了。简单说来,cookie提供了一种便捷的方式,可以在用户的计算机上保存少许数据而且远程得到它们,从而让网站能够保存一些细节信息,好比用户的习惯设置或是上一次访问网站的时间。cookie自己是一些短小的信息,可以由页面保存在用户的计算机上,而后被其余页面读取。cookie通常都设置为在必定时间后失效。
  固然,cookie也有局限之处:浏览器对于可以保存的cookie数量有所限制,一般是几百个或者多一点。通常状况下,每一个域名20个cookies是容许的,而每一个域最多能保存4KB的cookie.除了大小限制可能致使的问题,也有不少缘由会引发硬盘上的cookie消失,好比达到有效期限了,或是用户清理了cookie信息,或是换用了其余浏览器。所以,cookie不适合用来保存重要数据,在编写代码时也要考虑到cookie获取异常的处理方法。
  在JavaScript中,使用document对象的cookie属性来储存和获取cookie.一般,document.cookie里的信息是由成对的名称和值组成的字符串,每一对数据的形式是:html

name=value;浏览器

  下面咱们将经过一个简单的例子来展现在JavaScript中如何读取和写入cookie.
  首先是createCookie.html,在该页面中会建立一个cookie,完整的代码以下:服务器

<html>
<head>
    <title>createCookie</title>
    <script>
        function createCookie(){
            //get name and password
            var name = document.getElementById("name").value;
            var pwd = document.getElementById("pwd").value;
            //create cookie
            document.cookie = name+'|'+pwd;
            //go to showCookie.html page
            window.location.href = "showCookie.html";
        }
    </script>
</head>
<body>
    Userame:&nbsp;&nbsp;<input id="name" type="text" /><br><br>
    Password:&nbsp;&nbsp;<input id="pwd" type="password" /><br><br>
    <button onclick="createCookie()">Submit</submit>
</body>
</html>

该页面的截图以下:
cookie


createCookie.html

点击submit按钮,就会建立一个cookie,在该cookie中保存了Username和Password信息,而且会跳转到showCookie.html页面。其中,showCookie.html页面的完整代码以下:

<html>
<head>
    <title>showCookie</title>
    <script>
        function showCookie(){
            //document.cookie is a string, using split() function to get cookie date in array form 
            var arr = document.cookie.split('|');
            //processing data in cookie
            var cookie_info = 'Data in cookie:<br>username is:&nbsp;&nbsp;'+arr[0]+"<br>password is:&nbsp;&nbsp;"+arr[1]+'<br>';
            //set content of element of id "res"
            document.getElementById("res").innerHTML = cookie_info;
        }
    </script>
</head>
<body>
    <button onclick="showCookie()">Show Cookie</button>
    <p id="res"></p>
</body>
</html>

页面截图以下:
网站


showCookie.html

点击show Cookie按钮就会显示cookie里面的信息了。
  下面,咱们将会在本地和服务器上分别跑这个程序,分别在IE浏览器和Chrome浏览器上运行这个程序,看看cookie的运行状况。
  首先咱们在本地运行这个程序,咱们将上述两个文件都放在E盘中。先在IE浏览器上运行,在createCookie.html页面上输入信息,并点击submit按钮,截图以下:

IE浏览器createCookie.html

跳转到showCookie.html页面后,点击show Cookie按钮,页面截图以下:

本地 IE浏览器showCookie.html

cookie在本地环境中的IE浏览器中运行正常。
  接下来,咱们看看在Chrome浏览器中运行状况,首先在Chrome浏览器中打开createCookie.html页面,输入信息,并点击submit按钮,截图以下:

本地 Chrome浏览器createCookie.html

跳转到showCookie.html页面后,点击show Cookie按钮,页面截图以下:

Chrome浏览器showCookie.html

一样的程序,此次cookie在Chrome浏览器中却运行失败了。
  接着让咱们在服务器中运行这个程序,须要用到xampp,并打开Apache服务器,将上述两个html文件放在xampp安装文件夹下的htdocs文件夹下(具体的操做方法能够参考这篇博客: JavaScript之使用AJAX(适合初学者))。咱们如今IE浏览器中运行该程序,在IE浏览器中输入网址: http://localhost/createCookie.html,截图以下

服务器 IE浏览器 createCookie.html

点击Submit按钮,跳转到showCookie.html页面,并点击show Cookie按钮,截图以下:

服务器 IE浏览器 showCookie.html

  而后咱们在Chrome浏览器中输入网址: http://localhost/createCookie.html,截图以下

服务器 Chrome浏览器 createCookie.html

点击Submit按钮,跳转到showCookie.html页面,并点击show Cookie按钮,截图以下:

服务器 Chrome浏览器 showCookie.html
此次在服务器环境下,IE浏览器和Chrome浏览器的cookie都运行正常!   本次分享到此结束,欢迎你们交流~~
相关文章
相关标签/搜索