跨域获取cookie方法

本文介绍了如何在不同域名间进行JSONP请求以实现数据共享,并演示了如何使用$.getScript请求来获取其他域名下的Cookie值,实现了跨域资源的有效利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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

转载于:https://my.oschina.net/u/3500033/blog/1528645

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值