文档章节

跨域获取cookie方法

无小农
 无小农
发布于 2017/09/04 15:20
字数 298
阅读 14
收藏 0
  1. 子域名下:

这里输入代码子域名下的cookie可以通过设置cookie.setDomain("xxx")(注:xxx为根域名,例如text.com),来实现共享cookie;

  1. 不同域名下:

通过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

© 著作权归作者所有

共有 人打赏支持
无小农
粉丝 1
博文 37
码字总数 11816
作品 0
嘉兴
后端工程师
私信 提问
SSO单点登录、跨域重定向、跨域设置Cookie、京东单点登录实例分析

最近在研究SSO单点登录技术,其中有一种就是通过js的跨域设置cookie来达到单点登录目的的,下面就已京东商城为例来解释下跨域设置cookie的过程 涉及的关键知识点: 1、jQuery ajax跨域重定向...

bengozhong
2016/08/15
33
0
再也不学AJAX了!(三)跨域获取资源 ② - JSONP & CORS

浏览器的“同源策略”固然保障了互联网世界的数据隐私与数据安全,但是如果当我们需要使用AJAX跨域请求资源时,“同源策略”又会成为开发者的阻碍。在本文中,我们会简单介绍需要跨域请求资源...

LiBin
2017/12/06
0
0
淘淘商城系列——js跨域分析

通过上文的学习,我有理由相信大家都实现了用户登录,登录的时候我们把token写入到了cookie当中,登录成功后,我们查看cookie的信息,如下图所示,发现是有token信息的。 我们回到登录页面,...

yerenyuan_pku
2017/06/15
0
0
分享跨域访问的解决方案与基础分析

什么是跨域访问? 由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。存在跨域的情况: 网络协议不同,如http协议访问https协议。 端口不...

逍遥侠
2018/11/01
0
0
详解跨域(最全的解决方案)

image.png 1. 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 同源策略限制了一下行为: Cookie、LocalStorage ...

极客教程
2017/12/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
今天
1
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
8
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
3
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linuxprobe16
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部