2010-01-20 92 views
6

我知道你不能做跨域的ajax請求,除非你使用'代理'一臺服務器。但是,如果我做了server1.example.com到server2.example的ajax請求,即使它位於example.com的同一個域上,這樣做是行不通的嗎?從一個子域到另一個子域的AJAX請求,但在同一個域上

我很確定像YouTube這樣的網站對不同的服務器執行ajax請求。例如來自youtube.com對vs1022.youtube.com的請求等。

對此的任何澄清都將是極好的。感謝您的時間。

+1

請參閱:http://www.w3.org/TR/access-control/ – jldupont 2010-01-20 13:20:07

回答

4

server1.example.comserver2.example.com被視爲AJAX請求的跨域。

您需要在服務器端設置標頭Access-Control-Allow-Origin: *

+0

它真的很簡單嗎?很好,但是,我很好奇,爲什麼不是每個人都這樣做,而且沒有創建代理等的麻煩? :-) – Flukey 2010-01-20 13:22:29

+1

基本上很簡單,是的,你可以在https://developer.mozilla.org/en/HTTP_access_control閱讀更多內容,爲什麼默認情況下不允許使用安全原因和策略。例如,如果允許,'server1.example.com'可以使用ajax實時加載'server2.example.com'中的所有數據,然後可以完成非常好的網絡釣魚:-) – YOU 2010-01-20 14:45:44

0

Access-Control-Allow-Origin:*標題應由Web服務提供者維護的白名單組成,除非Web服務使用授權令牌驗證請求。

相關問題