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