Ajax加载子域跨站cookie丢失的问题.

我们有两个网站一个是main.xxx.cn 一个是 preveiw.xxx.cn

main.xxx.cn 页面需要加载preview.xxx.cn的内容。

项目里面出现了两种的加载preview.xxx.cn内容的方式。一种是iframe另一个是ajax。

1.iframe加载的要求 两个页面都把 document.domain = 设置成根域名 就是xxx.cn。
(其它thickbox magnific popup 如果加载同一个域名下面的页面也需要去设置 document.domain否者的话也会造成js无法访问。因为域名被你改了)。

2.ajax 加载的时候 需要设置 orign

  fResponse.AddHeader("Access-Control-Allow-Origin", origin);

origin的标签可以通过firebug看到  大约是http(s)://main.xxx.cn 也可以用 *

但是只这样设置的话会发现 preview.xxx.cn原来设置的cookie值无法传递。 需要设置一下 withCredentials 象下面这样。 并且需要把 orgin的值强制设成完全一样的,不能用 通配符 *.

还需要多加一个httpHeader
    Response.AddHeader("Access-Control-Allow-Credentials", "true");

   $.ajax({
                    url: 1.aspx
                    dataType: "Html",
                    xhrFields: {
                        withCredentials: true
                    },

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值