实例学习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 相关文章推荐
遍历DOM对象内的元素属性示例代码
Feb 08 Javascript
jQuery三级下拉列表导航菜单代码分享
Apr 15 Javascript
jQuery实现边框动态效果的实例代码
Sep 23 Javascript
Bootstrap和Java分页实例第一篇
Dec 23 Javascript
js实现自定义进度条效果
Mar 15 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
js中json对象和字符串的理解及相互转化操作实现方法
Sep 22 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
Aug 04 Javascript
微信小程序实现二维码签到考勤系统
Jan 16 Javascript
Vue简单实现原理详解
May 07 Javascript
JavaScript仿京东轮播图效果
Feb 25 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
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
基于jQuery的图片大小自动适应实现代码
2010/11/17 Javascript
Javascript学习笔记 delete运算符
2011/09/13 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
跟老齐学Python之Python安装
2014/09/12 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
python文字转语音的实例代码分析
2019/11/12 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
Zadig&Voltaire官网:法国时装品牌
2018/01/05 全球购物
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
大学生学习2014全国两会心得体会
2014/03/13 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
群众路线组织生活会发言材料
2014/10/17 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
python 实现两个变量值进行交换的n种操作
2021/06/02 Python
浅析Python中的套接字编程
2021/06/22 Python