2010-03-02 64 views
1

我在服務器欄上有一個域foo.com。我有一個子域api.foo.com,它有一個指向ghs.google.com的CNAME條目(因爲Google Apps正在使用該子域)。Javascript document.domain澄清

我想從search.foo.com到api.foo.com jQuery.get()調用。這些調用似乎都正常進行,並且每次都執行回調函數,但返回的數據總是一個空字符串,這讓我認爲某種瀏覽器安全策略正在進行中。

首先 - 是否允許從a.foo.com到b.foo.com的呼叫?

if(!allowed){ //其次 - 我該如何做這項工作? }

感謝,

財務巴雷

+0

似乎從a.foo.com到b.foo.com的呼叫是非法的。從我可以收集的信息來看,你可以從a.foo.com到foo.com,但不是相反。 – Finbarr 2010-03-03 10:54:12

回答

2

財務巴雷有正確的想法。你不能做跨站點XHR,並且a.foo.com到b.foo.com被認爲是跨站點。

用這說你有幾個選項。你可以做這樣的事情 - http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html

我們用在房子的Django/Python的,但我已經做了類似的,其中請求由服務器發出的東西並沒有配置爲接受AJAX請求,並返回一個簡單的觀點數據是服務器端請求的。希望有所幫助!

編輯:剛注意到Finbarr是提交者和評論者 - 對不起!

+0

我曾經代理過,但速度在這個例子中是必不可少的。我剛剛將ajax調用者移至a.foo.com,獨角獸又一次在彩虹下跳舞。 – Finbarr 2010-03-05 01:37:12