Код состояния = 0 при использовании xhrFields: {withCredentials: true} в вызове jQuery $ ajax с Firefox

Я использую

xhrFields : { 
  withCredentials: true 
} 

в вызовах jQuery $ ajax, чтобы отправлять сеансовые куки в рамках моих запросов.

Вызов дает правильный код состояния в моих журналах apache (401/200 в зависимости от того, установлен ли cookie), но Firefox всегда получает статус = 0 (то есть ошибка в $ .ajax ()) Если я удаляю этот раздел xhrFields, код состояния в порядке (но куки не отправляются)

Вот объект ответа, который я получаю в Firefox с настройкой xhrFields:

{"readyState":0,"responseText":"","status":0,"statusText":"error"}

Моя конфигурация Apache поддерживает CORS, а также позволяет использовать Access-Control-Allow-Credentials (здесь приведены соответствующие заголовки HTTP)

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *

Чего-то не хватает в вызове AJAX или в конфигурации веб-сервера?

NB: это прекрасно работает в Chrome

 Artem Oboturov02 июл. 2012 г., 15:22
Вы проверяли другие браузеры (например, G Chrome)?
 jamiebarrow18 сент. 2013 г., 14:19
У меня та же проблема с Chrome, и я также использую полный источник, а не подстановочный знак.

Ответы на вопрос(1)

Вы, вероятно, должны указать заголовок Access-Control-Allow-Origin более явно, чем *.

https://developer.mozilla.org/En/HTTP_access_control#Requests_with_credentials говорит:

Important note: when responding to a credentialed request, server must specify a domain, and cannot use wild carding.

Ваш ответ на вопрос