2012-10-31 41 views
1

如果您在http://www.example.com/dir訪問一個網站,那麼任何AJAX請求http://example.com/dir/something.php(帶有www缺失)導致以下消息,谷歌瀏覽器的控制檯顯示:同源策略會導致來自www.example.com的對example.com的Ajax請求被拒絕?

XMLHttpRequest cannot load http://example.com/dir/something.php. 
Origin http://www.example.com is not allowed by Access-Control-Allow-Origin. 

如何處理此的了,什麼都可以爲了解決這個問題?

編輯:當您訪問www.example.com時,似乎任何由example.com設置的cookie也會消失?

+0

該策略堅持計劃,主機名和端口號(如指定)**完全相同。 – Pointy

+0

@Pointy如何解決這個問題呢? –

+0

您可以通過將所有頁面放在同一個域中來修復它。 – Pointy

回答

2

www.example.comexample.com是不同的域,它們可以提供不同的內容。 www.stackoverflow.com只能重定向到stackoverflow.com,但從技術上講,它可以顯示充滿小馬的網站。

Origin determination rules - 它實際上使用完全相同的example.com學校名稱共青預兆!)爲例。

2

子域被視爲「不同的域」,因此將被阻止。包括在這個就是www,因爲它被認爲的example.com

一個子域可以解決此問題通過iframe的溝通,因爲I幀可以在主頁內容,只要他們住在同一個頂級域名交流。

+0

這裏的子域是什麼?它的相同的域除了一個有www,一個沒有。 –

+0

@ClickUpvote'www'被認爲是一個子域名。導致錯誤。 – Joseph

+0

如果IFrames不是一種選擇,那麼這種情況下的解決方案是什麼?我可以通過.htaccess進行重定向嗎? –

相關問題