zoukankan      html  css  js  c++  java
  • jquery.cookie用法及其注意点

      jquery.cookie是一个轻量级的cookie插件,由于已被封装好,可拿来即用。

      基本的创建、读取、删除见另一篇文章 浅谈localStorage、sessionStorage 与cookie 。

      从名字上就可以看出jquery.cookie是依赖于jquery的,所以在使用jquery.cookie的时候,应该先引入jquery文件,再引入jquery.cookie文件。

      创建cookie:   $.cookie('name', '张三')

      然后访问的时候使用$.cookie('name')就行。

      但是,如果想要一次性存入多个数据呢?假如想将一个对象{‘name’: '张三', 'age': '45', 'sex': '男'}存入名为person的cookie中,该如何操作呢?

      像这样行吗? $.cookie('person', {‘name’: '张三', 'age': '45', 'sex': '男'})  。虽然这样能创建成功,通过 $.cookie('person')  也能够获取到结果:

    [object Object]。然而当使用 $.cookie('person').name 来获取时,结果却是undefined。可见,这样是不可行的。

      原因在于,cookie本质上是一个txt文本,因此只能够存入字符串,对象通常要序列化之后才能存入cookie,而取的时候要反序列才又能得到对象

      因此,在存入的时候可以这样写, $.cookie('person', JSON.stringify({‘name’: '张三', 'age': '45', 'sex': '男'})) ,然后获取的时候再将其反序列化,通过

     JSON.parse($.cookie('person')).name 就可以获取成功。

      很坑爹有木有。

      再来说说注意事项

      (1)、在使用jquery.cookie的时候是需要在服务器下使用(可以使用tomcat、appserve或者sublime Text等),如果只是在本地的一个静态文件中使用jquery.cookie,然后直接通过浏览器打开,会发现结果是undefined,这个问题搞得我一度怀疑人生。

      (2)、当没有指明cookie有效时间时,所创建的cookie有效期默认到用户关闭浏览器为止,因此也被称为会话cookie

  • 相关阅读:
    CICD : 存代码部署(精简版)
    CICD:通过Shell 将打包后的代码部署到各环境
    linux:curl 取得HTTP返回的状态码
    闭包简单的了解
    javascript正则表达式了解
    搭建PHP开发环境(四)-PHP操作MySQL
    搭建PHP开发环境(三)-MySQL安装配置
    搭建PHP开发环境(二)-PHP安装
    搭建PHP开发环境(一)-Apache安装配置
    生成简单验证码文字
  • 原文地址:https://www.cnblogs.com/jf-67/p/9096911.html
Copyright © 2011-2022 走看看