- 子域名下:
这里输入代码子域名下的cookie可以通过设置cookie.setDomain("xxx")(注:xxx为根域名,例如text.com),来实现共享cookie;
- 不同域名下:
通过jsonp请求.do来返回参数:
var url = 'test.do?jsoncallback=?';
$.getJSON(url, params, function(json){
});
jsoncallback=? 该段表示,返回参数,会自动生成一个返回函数;
示例:
客户端
$.getJSON("http://test.b.com/tools/isLogin.jsp?jsoncallback=?",function(data){
alert(data);
});
服务器端:isLogin.jsp 把数据封装成 json的格式
String jsoncallback = request.getParameter("jsoncallback");
out.print(jsoncallback+"({userid:"+userid+",muserid:"+muserid+"})");
通过$.getScript请求来返回cookie:
例:test.a.com网站需要获取test.b.com的cookie,
第一步:首先在test.b.com下写一个请求jsp,并且以js的格式输出到页面:
String userid = CookieUtil.getCookieNoDes(request, "chatName");
String muserid = MCookieUtil.getCookie(request, "m-userid");
out.print("var userCookie={userid:'"+userid+"',muserid:'"+muserid+"'};");
输出的格式:
var userCookie={userid:'null',muserid:'null'};
第二步:在test.a.com下用$.getScript获取请求:
$.getScript('http://test.b.com/isLogin.jsp?'new Date(), function(){
console.log(userCookie.userid,userCookie.muserid);
});
从数据显示,已经从test.b.com下获取到cookie的值.
demo下载地址:链接:http://pan.baidu.com/s/1nv83bxn 密码:g9qi