实例学习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 相关文章推荐
你可能不再需要JQUERY
Mar 09 Javascript
jquery 指南/入门基础
Nov 30 Javascript
js事件监听器用法实例详解
Jun 01 Javascript
学习JavaScript事件流和事件处理程序
Jan 25 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
Feb 27 Javascript
基于wordpress的ajax写法详解
Jan 02 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
Dec 29 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
Nov 12 Javascript
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
微信小程序之多文件下载的简单封装示例
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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
php 采集书并合成txt格式的实现代码
2009/03/01 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
2016/09/01 PHP
PHP实现限制域名访问的实现代码(本地验证)
2020/09/13 PHP
jquery animate 动画效果使用说明
2009/11/04 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
js使用心得分享
2015/01/13 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
webpack进阶——缓存与独立打包的用法
2017/08/02 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
Node对CommonJS的模块规范
2019/11/06 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
python文件操作seek()偏移量,读取指正到指定位置操作
2020/07/05 Python
会计毕业生自我鉴定
2013/11/04 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
宣传活动总结范文
2014/07/01 职场文书
死亡赔偿协议书
2015/01/28 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
python数据分析之单因素分析线性拟合及地理编码
2022/06/25 Python