Ajax加載子域跨站cookie丟失的問題.

咱們有兩個網站一個是main.xxx.cn 一個是 preveiw.xxx.cnajax

main.xxx.cn 頁面須要加載preview.xxx.cn的內容。cookie

項目裏面出現了兩種的加載preview.xxx.cn內容的方式。一種是iframe另外一個是ajax。dom

1.iframe加載的要求 兩個頁面都把 document.domain = 設置成根域名 就是xxx.cn。
(其它thickbox magnific popup 若是加載同一個域名下面的頁面也須要去設置 document.domain否者的話也會形成js沒法訪問。由於域名被你改了)。網站

2.ajax 加載的時候 須要設置 orign url

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

origin的標籤能夠經過firebug看到  大約是http(s)://main.xxx.cn 也能夠用 *域名

可是隻這樣設置的話會發現 preview.xxx.cn原來設置的cookie值沒法傳遞。 須要設置一下 withCredentials 象下面這樣。 而且須要把 orgin的值強制設成徹底同樣的,不能用 通配符 *.it

還須要多加一個httpHeader
    Response.AddHeader("Access-Control-Allow-Credentials", "true");bug

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

}

相關文章
相關標籤/搜索