Js跨一级域名同步cookie
1. 纯Js同步两个域名下的cookie
document.cookie = "name=" + "value;" + "expires=" + "datatime;" + "domain=" + "" + "path=" + "/path" + "; secure";
//name Cookie名字
//value Cookie值
//expires 有效期截至(单位毫秒)
//path 子目录
//domain 有效域
//secure 是否安全
拿淘宝与天猫举例,淘宝登录后跳转到天猫页面,天猫页面有一个iframe,请求任意页面
<iframe src=‘http://localhost:14373/test/Index‘ width=‘100‘ height=‘100‘ style="display:none"></iframe>
淘宝页面中js获取当前页面的cookie并作为参数跳转回天猫页面
window.location = "http://localhost:20272/GetCookie/Index?" + document.cookie;
天猫页面获取url中的地址并将cookie写入本域名下
var url = window.location.toString();//获取地址 var get = url.substring(url.indexOf("liuph"));//获取变量和变量值 var idx = get.indexOf("=");//获取变量名长度 if (idx != -1) { var name = get.substring(0, idx);//获取变量名 var val = get.substring(idx + 1);//获取变量值 setCookie(name, val, 1);//创建Cookie }
2. 经过后台处理同步cookie
天猫页面直接请求淘宝的后台方法
$.ajax({ type: "GET", dataType: ‘jsonp‘, jsonp: ‘jsonp_callback‘, url: ‘http://localhost:14373/test/GetString?cookie=?‘, success: function (da) { alert(da.name + "|" + da.value); }, error: function (){ alert("ERROR"); } });
淘宝后台代码
public void GetString() { HttpCookie cookie = Request.Cookies["liuph"]; var response = HttpContext.Response; response.ContentType = "text/json"; string str = Request.QueryString["cookie"];//JS接受变量名 response.Write(str + "({\"name\":" + "\"" + cookie.Name + "\"" + ",\"value\":" + "\"" + cookie.Value + "\"})");//返回数据 }
ok,同步结束
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。