2010-05-15 100 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