Firefox 3 CORS XMLHTTPRequest non sembra al lavoro
-
10-10-2019 - |
Domanda
Ho implementato un servizio di riposo, che sto chiamando da un'applicazione javascript in un dominio diverso.
Sto cercando di fare una richiesta GET, e impostando l'Autorizzazione:. Intestazione, con uno schema di autenticazione personalizzato
Perché sto impostando un header personalizzato, Firefox inizierà con una richiesta di opzioni di preflight. Questa richiesta si presenta così (semplificato):
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
La mia risposta è la seguente:
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
Dopo questo, la richiesta GET reale è semplicemente non eseguita. Sono preoccupato ho fatto un errore nella mia risposta, ma io non riesco a individuarlo.
L'altro problema è che non ho trovato alcun modo per ottenere un messaggio di errore dettagliato. Come potete vedere, ho anche provato X-Autorizzazione al posto di autorizzazione.
Le mie domande:
C'è qualcosa di sbagliato con la mia risposta? Come posso trovare maggiori dettagli sul problema?
Grazie!
Soluzione
Avevo bisogno di uno sguardo nuovo questo. La mattina dopo mi sono reso conto le intestazioni corrette sono:
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS
Access-Control-Allow-Headers: Authorization, X-Authorization