实例学习JavaScript读取和写入cookie


Posted in Javascript onJanuary 29, 2018

首先先让我们简单地了解一下cookie.

在我们制作网页的过程中,经常需要把信息从一个页面传递给另一个页面,这时候就需要用到JavaScript中的cookie机制了。简单说来,cookie提供了一种便捷的方式,能够在用户的计算机上保存少量数据并且远程获得它们,从而让网站可以保存一些细节信息,比如用户的习惯设置或是上一次访问网站的时间。cookie本身是一些短小的信息,能够由页面保存在用户的计算机上,然后被其他页面读取。cookie一般都设置为在一定时间后失效。

当然,cookie也有局限之处:浏览器对于能够保存的cookie数量有所限制,通常是几百个或者多一点。一般情况下,每个域名20个cookies是允许的,而每个域最多能保存4KB的cookie.除了大小限制可能导致的问题,也有很多原因会引起硬盘上的cookie消失,比如达到有效期限了,或是用户清理了cookie信息,或是换用了其他浏览器。因此,cookie不适合用来保存重要数据,在编写代码时也要考虑到cookie获取异常的处理方法。

在JavaScript中,使用document对象的cookie属性来储存和获取cookie.通常,document.cookie里的信息是由成对的名称和值组成的字符串,每一对数据的形式是:

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:  <input id="name" type="text" /><br><br>
  Password:  <input id="pwd" type="password" /><br><br>
  <button onclick="createCookie()">Submit</submit>
</body>
</html>

该页面的截图如下:

实例学习JavaScript读取和写入cookie

点击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:  '+arr[0]+"<br>password is:  "+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>

页面截图如下:

实例学习JavaScript读取和写入cookie

点击show Cookie按钮就会显示cookie里面的信息了。

下面,我们将会在本地和服务器上分别跑这个程序,分别在IE浏览器和Chrome浏览器上运行这个程序,看看cookie的运行情况。

首先我们在本地运行这个程序,我们将上述两个文件都放在E盘中。先在IE浏览器上运行,在createCookie.html页面上输入信息,并点击submit按钮,截图如下:

实例学习JavaScript读取和写入cookie

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

实例学习JavaScript读取和写入cookie

cookie在本地环境中的IE浏览器中运行正常。

接下来,我们看看在Chrome浏览器中运行情况,首先在Chrome浏览器中打开createCookie.html页面,输入信息,并点击submit按钮,截图如下:

实例学习JavaScript读取和写入cookie

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

实例学习JavaScript读取和写入cookie

同样的程序,这次cookie在Chrome浏览器中却运行失败了。

接着让我们在服务器中运行这个程序,需要用到xampp,并打开Apache服务器,将上述两个html文件放在xampp安装文件夹下的htdocs文件夹下(具体的操作方法可以参考这篇博客:JavaScript之使用AJAX(适合初学者))。我们现在IE浏览器中运行该程序,在IE浏览器中输入网址:http://localhost/createCookie...:

实例学习JavaScript读取和写入cookie

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

实例学习JavaScript读取和写入cookie

然后我们在Chrome浏览器中输入网址:http://localhost/createCookie...:

实例学习JavaScript读取和写入cookie

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

实例学习JavaScript读取和写入cookie

这次在服务器环境下,IE浏览器和Chrome浏览器的cookie都运行正常!

Javascript 相关文章推荐
简单的JS多重继承示例
Mar 13 Javascript
javascript object array方法使用详解
Dec 03 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
js计算两个时间之间天数差的实例代码
Nov 19 Javascript
AngularJS基础知识
Dec 21 Javascript
js小数计算小数点后显示多位小数的实现方法
May 30 Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 Javascript
12条写出高质量JS代码的方法
Jan 07 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
vue.js多页面开发环境搭建过程
Apr 24 Javascript
利用 JavaScript 实现并发控制的示例代码
Dec 31 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 #Javascript
JS中Object对象的原型概念基础
Jan 29 #Javascript
vue.js实现只弹一次弹框
Jan 29 #Javascript
javascript trie前缀树的示例
Jan 29 #Javascript
Vue官网todoMVC示例代码
Jan 29 #Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
Jan 29 #jQuery
Angular2 父子组件通信方式的示例
Jan 29 #Javascript
You might like
如何做到多笔资料的同步
2006/10/09 PHP
很实用的一个完整email发送程序
2006/10/09 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
2016/05/30 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
python处理二进制数据的方法
2015/06/03 Python
详解Python的Django框架中的中间件
2015/07/24 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
2018/08/02 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
对python_discover方法遍历所有执行的用例详解
2019/02/13 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
英国男女豪华配饰和礼品网站:Black.co.uk
2020/02/28 全球购物
护士个人简历自荐信
2013/10/18 职场文书
领导欢迎词致辞
2015/01/23 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
民间借贷借条范本
2015/05/25 职场文书
2016幼儿教师自荐信范文
2016/01/28 职场文书