Firefox 3 CORS XMLHTTPRequest似乎不起作用

时间:2010-12-15 16:45:21

标签: javascript http rest xmlhttprequest cors

我实现了一个REST服务,我从另一个域的javascript应用程序调用它。

我正在尝试使用自定义身份验证方案执行GET请求并设置Authorization:标头。

因为我正在设置自定义标头,Firefox将以预检OPTIONS请求开始。此请求看起来像这样(简化):

OPTIONS /v1/articles HTTP/1.1
Host: example.org
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101206 Ubuntu/10.10 (maverick) Firefox/3.6.13 FirePHP/0.5
Origin: http://example.com
Access-Control-Request-Method: GET
Access-Control-Request-Headers: authorization

我的回答如下:

HTTP/1.1 200 OK
Date: Wed, 15 Dec 2010 16:36:47 GMT
Server: Apache/2.2.9 (Debian) PHP/5.3.3-0.dotdeb.1 with Suhosin-Patch mod_vhost_hash_alias/1.0
X-Powered-By: PHP/5.3.3-0.dotdeb.1
Access-Control-Allow-Origin: http://example.com
Access-Control-Request-Method: GET,POST,PUT,DELETE,HEAD,OPTIONS
Access-Control-Request-Headers: Authorization, X-Authorization
Content-Length: 2
Content-Type: application/json

在此之后,根本不执行实际的GET请求。我很担心我的回答出错了,但我似乎无法发现它。

另一个问题是我发现无法获得详细的错误消息。如您所见,我也尝试过X-Authorization而不是授权。

我的问题:

我的回答有问题吗?如何找到有关此问题的更多详细信息?

谢谢!

1 个答案:

答案 0 :(得分:2)

我需要重新审视一下。第二天早上,我意识到正确的标题是:

Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS
Access-Control-Allow-Headers: Authorization, X-Authorization