zoukankan      html  css  js  c++  java
  • 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
                        },

    }

  • 相关阅读:
    VS Code中编写C
    Latex
    JAVA学习-----容器和数据结构
    Markdown2最最基本操作说明(未完待续)
    [lua] table.sort(_table, comp)使用要点
    [coco2d]pageView:addPage时,page无法对齐
    [cocos2d]修改富文本文本和高度
    [cocos2d]格式化获取当前layer的控件名
    [c++]牛客刷题记录2.18
    [c++]STL学习
  • 原文地址:https://www.cnblogs.com/lovebanyi/p/3972992.html
Copyright © 2011-2022 走看看