2010-05-15 68 views
0

非假想但抽象的情況:AJAX,子域和200 OK應答

我有一個域www.foo.com,從我在做一個AJAX POST到beta.foo.com。檢查XHR對象時,我看到響應頭爲200 OK,但沒有響應文本 - 我甚至得到12B長的響應,這是我期望的確切響應(12個字符的字符串) - 但響應文本是空白。

如果這是一個跨領域的問題,爲什麼我會收到200 OK,更好的是 - 爲什麼我看到的beta.foo.com側的PHP函數火 - 但沒有得到響應?

+0

它不是一個跨域問題。 AJAX沒有任何安全模型。 – 2010-05-15 02:31:00

+1

您是否使用螢火蟲查看回應文字? – 2010-05-15 02:40:58

+1

發佈您的JavaScript代碼。沒有看到代碼,沒有足夠的信息來完全調試問題。 – Asaph 2010-05-15 03:04:21

回答

0

你不能做跨子域AJAX調用那麼容易。有一種叫做Same origin policy的東西阻止你這樣做。如果你想排序這個問題,你需要使用JSONPIframes

安裝螢火蟲,你會看到一個HTTP 200代碼和一個錯誤:這個錯誤是SOP作用。

+0

JSONP是這種情況下的票據。 – 2010-10-16 16:51:05

0

你提到你正在檢查的responseText屬性。有可能你的回覆是XML格式嗎?

如果您發送XML請求,或者響應類型爲'text/xml',您將得到一個值爲responseXML。我認爲responseText屬性可以是空白的,如果它是XML格式。從谷歌

隨便舉個例子:

http://javascript.about.com/library/blajax08.htm