文档章节

跨域获取cookie方法

无小农
 无小农
发布于 2017/09/04 15:20
字数 298
阅读 11
收藏 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
博文 35
码字总数 11598
作品 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协议。 端口不...

逍遥侠
11/01
0
0
前端分享之cookie的使用及单点登录

cookie是什么 cookie的英文意思是饼干。在计算机术语中指服务端存放在客户端的一段数据。这段数据在客户端每次进行http请求时会自动加在http请求报文中的header上;服务端在响应时,可以对c...

秋枫惋红
2017/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
39分钟前
4
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0
PHP生成图片验证码

PHP生成图片验证码 /** * PHP生成图片验证码 * Class VerifyImage */class VerifyImage{ // 生成随机字串 private $verifyCode; // 图片对象 private $image; /**...

DrChenXX
昨天
1
0
纹理与表面细节添加方法---OpenGL纹理函数

OpenGL线纹理函数 OpenGL表面纹理函数 OpenGL体纹理函数 OpenGL纹理图案的颜色选项 OpenGL纹理映射选项 OpenGL纹理环绕 复制帧缓存中的OpenGL纹理图案 OpenGL纹理坐标数组 OpenGL纹理图案命名...

中国龙-扬科
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部