2010-12-15 76 views
1

我實現了一個REST服務,我從一個不同的域上的JavaScript應用程序調用該服務。Firefox 3 CORS XMLHTTPRequest似乎不起作用

我正在嘗試執行GET請求,並使用自定義身份驗證方案設置Authorization:標頭。

因爲我正在設置一個自定義標題,Firefox將以預檢選項請求開始。這個請求看起來像這樣(簡化):

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而不是Authorization。

我的問題:

我的回答有問題嗎?我怎樣才能找到關於這個問題的更多細節?

謝謝!

回答

2

我需要重新審視一下。第二天早上,我意識到正確的標題是:

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

奇怪。我有完全相同的問題(沒有GET請求),但我*使用正確的標題... – Thorarin 2011-06-17 14:32:44