zoukankan      html  css  js  c++  java
  • cookie 跨域访问

    废话不知道该说些什么。。。先看代码吧。

     1 cookie 是浏览器保存在用户计算机上的少量数据
     2 
     3 //读取cookie
     4 function getCookie(name) {
     5     var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
     6     if (arr = document.cookie.match(reg)) {
     7         return decodeURI(arr[2]);
     8     } else {
     9         return null;
    10     }
    11 };
    12 
    13 // delCookie("userName");
    14 
    15 
    16 //设置cookie 值与过期时间
    17 function setCookie(name, value, time) {
    18     if (time) {
    19         var setExp = gerExpTiem(time);
    20         var exp = new Date();
    21         exp.setTime(exp.getTime() + setExp);
    22         document.cookie = name + "=" + encodeURI(value) + ";expires=" + exp.toUTCString();
    23     } else {
    24         document.cookie = name + "=" + encodeURI(value);
    25     }
    26 
    27 };
    28 
    29 //删除cookie
    30 function delCookie(name) {
    31     var exp = new Date();
    32     exp.setTime(exp.getTime() - 1);
    33     var cval = getCookie(name);
    34 
    35     if (cval != null) {
    36         document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString();
    37     }
    38 };
    39 
    40 //获得过期时间 s10 ,h10 ,d10 s秒,h小时,d天数
    41 function gerExpTiem(time) {
    42     var timeType = time.substring(0, 1);
    43     var _setTime = time.substring(1, time.length);
    44     if (timeType == "s") {
    45         return _setTime * 1000;
    46     } else if (timeType == "h") {
    47         return _setTime * 60 * 60 * 1000;
    48     } else if (timeType == "d") {
    49         return _setTime * 24 * 60 * 60 * 1000;
    50     }
    51 };

    以上是对cookie 进行操作(添加,删除,获取) 网上大多例子都是一样的,本人也是参考的,大家可参考。。。

    接下来是重点啦
    

      

    cookie域
    
    设置域:domain=siteDomain
    
    这个主要用在同域的情况下共享一个cookie,
    例如 "www.taobao.com" 与 "ued.taobao.com"
    两者是共享一个域名"taobao.com",
    我们如果想让 "www.taobao.com" 下的cookie被 "ued.taobao.com"
    访问,那么就需要把path属性设置为 "/",
    并且设置 cookie 的domain-->document.cookie='cookieName=cookieValue;expires=expireDate;path=/;domain=taobao.com'。
    

      

    我比较懒,这是copy 别人的,是在用一个域下(二级域名),

    如果是:www.baidu.com 与 www.taobao.com 这样是不能跨域访问cookie的。

    服务器端添加响应头

    <?php  header('Access-Control-Allow-Credentials:true'); ?>

      

    客户端添加

    $.ajax({
    type: method,
    url: reqObj.testAddress+reqName,
    dataType: "json",
    crossDomain: true,
    xhrFields: { //注意添加红色部分
    withCredentials: true
    },
    timeout : reqObj.set_Timeout,
    success: succCallback,
    error: errorCallback
    });

      

    参考来源:

    http://www.cnblogs.com/MyRobotDream/p/3543402.html

    http://www.111cn.net/wy/html5/75509.htm

  • 相关阅读:
    Java实现串口通信的小样例
    poi读写Excel
    java的list类
    java集合类
    常用正则表达式
    正则表达式
    Java获取路径中的文件名(正则表达式)
    poi读取word2003(.doc文档)中的表格
    使用poi读取word2007(.docx)中的复杂表格
    使用Maven搭建SpringMVC
  • 原文地址:https://www.cnblogs.com/congxueda/p/5112985.html
Copyright © 2011-2022 走看看