2010-12-15 4 views
1

Я реализовал службу REST, которую я вызываю из приложения javascript в другом домене.Firefox 3 CORS XMLHTTPRequest не работает

Я пытаюсь выполнить запрос 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 вместо авторизации.

Мои вопросы:

Есть ли что-то не так с моим ответом? Как я могу найти более подробную информацию о проблеме?

Спасибо!

ответ

2

Мне нужен был свежий взгляд на это. На следующее утро я понял, что правильные заголовки:

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

Странно. У меня такая же проблема (без запроса GET), но я * am * использую правильные заголовки ... – Thorarin 2011-06-17 14:32:44

 Смежные вопросы

  • Нет связанных вопросов^_^