有关cookie的一些用法

最近跟研发配合做了一个在登录,注册等相关页面统计用户ip来源、uv、pv。主要是根据当前的url,获取相关的参数,设置cookie值,然后根据页面输出的相关数据跟cookie相关的匹配,进行操作,当用户登录或者注册成功的时候,再获取cookie,把cookie传给后台,最后删除cookie值。

我以前写js很少关于cookie相关的技术,所以对这方面的技术也不是太了解,在做这个项目之前,花费了一段时间去研究这些,本来想着用jQuery cookie插件呢,后来听同事说,我们公司其他项目大都是arale-cookie的组件,所以两个相关的组件,我都大致研究了一下,其实两者用起来差不多,都是设置、获取、删除cookie类的。

arale-cookie的用法说明:

Cookie 操作方法。

get Cookie.get(name, [options])

获取 cookie 值。options 参数可选,取值如下:

converter 转换函数。如果所获取的 cookie 有值,会在返回前传给 converter 函数进行转换。
选项对象。对象中可以有两个属性:converter 和 raw. raw 是布尔值,为真时,不会对获取到的 cookie 值进行 URI 解码。

注:如果要获取的 cookie 键值不存在,则返回 undefined.

例子:

define(function() {
    var Cookie = require(‘cookie‘);

    // setup
    document.cookie = ‘foo=1‘;
    document.cookie = ‘bar=2‘;

    Cookie.get(‘foo‘);
    // returns ‘1‘

    Cookie.get(‘bar‘, function(s) { return parseInt(s); } );
    // returns 2
});

set Cookie.set(name, value, [options])

设置 cookie 值。参数 options 可选,可以有以下属性:path(字符串)、domain(字符串)、 expires(数值或日期对象)、raw(布尔值)。当 raw 为真值时,在设置 cookie 值时,不会进行 URI 编码。

例子:

define(function() {
    var Cookie = require(‘cookie‘);

    Cookie.set(‘foo‘, 3);

    Cookie.set(‘bar‘, 4, {
        domain: ‘example.com‘,
        path: ‘/‘,
        expires: 30
    });
});
`

remove Cookie.remove(name, [options])

移除指定的 cookie.

例子:

define(function() {
    var Cookie = require(‘cookie‘);

    Cookie.remove(‘foo‘);

    Cookie.remove(‘bar‘, {
        domain: ‘example.com‘,
        path: ‘/‘
    });
});

功能实现的主要代码,首页是获取url后面的参数,由于url参数名称是固定的,所以写起来比较简单

当前的地址:http://work.XXXXXX.cn/?sfrom=1_28
var getArgs = function(){
        var args = [],
        //获取参数sform=1_28
            qs = location.search.length>0?location.search.substring(1):‘‘;
            var args = qs.split(‘=‘);
        var item = [],
            items = args[1].split(‘_‘),//把参数值分开,获取不同的值
            reg = new RegExp("[0-9]+"),
            suc =  items[1].match(reg); //28是user的id值,需要过滤到其后面的其他
        item.push(items[0],suc); //把获取的值放到一个数组里
        return item;
    }
    var userargs = getArgs();
    var userCookie = (userargs.join(‘_‘)); //cookie值以1_28形式保存,其实下划线前面代表的是类型,从登录或者注册入口
   Cookie.set(‘userCookie‘, userCookie, {
        domain: ‘XXXX.cn‘,
        path: ‘/‘,
        expires: 7*60*60*1000
    });
//下面主要是根据获取的值在不同页面,把类型值传给后台验证,主要是跨域问题 ,采用了jsonp的格式
   if(USERPV){
       if(USERPV.suc ==0){ //suc代表的是否登录或者注册成功,type代表入口类型
           var type = userargs[0];
           if( USERPV.type==type){
               var chekUrl = ‘http://my.op.XXXX.cn/pvip/index/sfrom/‘+userargs.join("_");

               $.getJSON(chekUrl, ‘callback=?‘, function(data) {
               })
           }
       } else if(USERPV.suc == 1){

           var cookieArr =Cookie.get(‘userCookie‘);
           var type = cookieArr[0];
           Cookie.remove(‘userCookie‘, {
               domain: ‘gongchang.net‘,
               path: ‘/‘
           });
           if( USERPV.type==type){
               var chekUrl = ‘http://my.op.XXXX.cn/pvip/index/suc/1/sfrom/‘+cookieArr;
               $.getJSON(chekUrl, ‘callback=?‘, function(data) {

               })

           }

       }
    }
总结下来整个功能也就利用了cookie的设置,获取,删除等操作方法,url参数获取,ajax跨域解决问题等技术知识点。
时间: 2024-10-31 08:00:39

有关cookie的一些用法的相关文章

PHP中SESSION与COOKIE的详细用法

1. PHP的COOKIEcookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制.PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似.1.1 设置cookie:可以用 setcookie() 或 setrawcookie() 函数来设置 cookie.也可以通过向客户端直接发送http头来设置.1.1.1 使用setcookie()函数设置cookie:bool setc

Cookie的一些用法

Cookie的一些用法: package com.stono.servlet.listenerorder; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.Ht

webform中Session和Cookie对象的用法

(一)Session 跟Cookies一样用来存储用户数据 1.Session.Cookies对比 相同点:每一台电脑访问服务器,都会是独立的一套session或者Cookies,key值都一样,但是内容都是不一样的. 不同点:●Session的保存位置是保存在服务器内存上,Cookies保存在用户硬盘上 ●Session没有持久的,在不对页面进行任何操作的情况下,它的保存周期就是20分钟:Cookies可以持久也可不持久,取决于用户 2.Session重点 Session不要滥用,也不要不用,

session 与 cookie的区别用法

//设置cookie方法 setcookie("name",'zhangsan'); setcookie("name",'zhangsan',time()+60);//设置cookie有效时间为60秒 //setcookie("visittime",date("y-m-d H:i:s"),time()+60);//设置保存cookie失效时间的变量 //读取cokie方法 $name=$_COOKIE["name&q

解读cookie,localstorage,sessionstorage用法与区别

cookie cookie概念 cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 cookie 的值. 为什么提出cookie? 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份.怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证.这样服务器就能从通行证上确认客户身份了.这就是Cookie的工作原理. 我的理解 cookie为一小段文

2016-6-12 cookie介绍与用法

说明:cookie是一小段明文储存在客户端中,会随着请求网站一块发送给后台.一般有字节限制,具体要根据客户端 的设定,每个网站都有自己的Cookie,不能访问别的网站的Cookie,同一个网站所有的网站下的页面都可以访问到本网 站的Cookie asp.net调用Cookie方法语法:1.Request.Cookie["键"].value = "cookie值"; 直接可以在网站上创建一个Cookie来存储值2.Request.Cookie["键"

解读cookie,localstorage,sessionstorage用法与区别2(解读cookie)

说到本地存储 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 永久存储(可以手动删除数据) sessionStorage - session临时回话,从页面打开到页面关闭的时间段 窗口的临时存储,页面关闭,本地存储消失 其实前景和作用和cookie也是相同甚至从cookie演变而来,用一张图来表示服务商对本地存储的探索. 由图就可以看出本地存储的和cookie的区别,存储大且无插件. 这时也许就该思考H5的最大问题兼容性,这是本地存储支持情况图. 检测: if(w

详解PHP中cookie和session的区别及cookie和session用法小结

cookie 是通过扩展http协议实现的 cookie 主要包括 :名字,值,过期时间,路径和域:如果cookie不设置生命周期,则以浏览器关闭而关闭,这种cookie一般存储在内存而不是硬盘上.若设置了生命周期则相反,不随浏览器的关闭而消失,这些cookie仍然有效直到超过设定的过 期 时间.session 一种类似散列表的形式保存信息,当程序需要为某个客户端的请求创建一个session时,服务器首先检查这个客户端的请求里是否已包含了一个session标识(称为session id),如果已

cookie的基本用法案例

步骤讲解: 1,引入cookie文件: 2,设置过期时间: var date = new Date(); date.setTime(date.getTime() + ( 15*600*1000)); /*设置过期时间*/ 3,定义要存储的数据: urlpage = decodeURI(page); /*要存储的数据*/ 4,存放到cookie中: $.cookie('cookie_urlpage', urlpage, { express: date });/*<-----存储cookie*/ c