Firefox:凭据的跨域请求返回空

时间:2010-01-13 04:42:31

标签: firefox xmlhttprequest cross-domain

Firefox send a cross-domain post with credentials,我可以(使用Charles - HTTP调试的代理)看到服务器正在发回响应......但Firefox并没有“让我看到它”(因为缺乏更好的描述) )。

例如,使用the documented example

>>> var invocation = new XMLHttpRequest();
>>> invocation.open('GET', 'http://localhost/~wolever/cookie.php', true);
>>> invocation.withCredentials=true;
>>> invocation.onreadystatechange = console.log;
>>> invocation.send()
http://img.skitch.com/20100113-bq3a4qb1ufn52331x18ce3c7xu.png
>>> invocation.responseText
""
>>> invocation.responseXML
null

但是,Charles告诉我,这个请求实际上已经返回了预期的响应:

http://img.skitch.com/20100113-njakyu4xequ5e3cyfhfnyeatq5.png

知道可能出现什么问题吗?

而且,这有助于:没有凭据的相同请求会返回应有的数据。

1 个答案:

答案 0 :(得分:8)

这是您链接到的MDC部分的底部:

  

重要提示:在响应凭证请求时,服务器必须   指定一个域,并且不能使用wild-carding。上面的例子会失败   如果标题被通配为:Access-Control-Allow-Origin:*。

我打赌你错过了这个,它被隐藏在几个大的示例代码块之下。