В настоящее время у меня проблема с межсетевым ajax-вызовом, использующим IE10 (в режиме IE10, а не совместимость).
Ситуация:
У меня два домена, http://a
и http://b
. У меня есть набор файлов cookie для http://b
. Я сейчас на странице http://a
.
Я хочу сделать запрос CORS на http://b
с помощью XMLHttpRequest (который должен работать, в соответствии с http://blogs.msdn.com/b/ie/archive/2012/02/09/cors-for-xhr-in-ie10.aspx) и включать cookie в запросе.
JS выглядит следующим образом:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://b', true);
xhr.withCredentials = true;
xhr.send();
Это должно гарантировать, что файл cookie прикреплен к запросу; однако трассировка Fiddler показывает, что cookie не прикреплен, и я получаю 401: Access Denied
.
Сервер настроен на работу с CORS, он включает заголовки Access-Control:
Access-Control-Allow-Origin: http://a
Access-Control-Allow-Credentials: true
(это не должно иметь никакого значения, поскольку запрос предварительной проверки OPTIONS отсутствует, и первый запрос IE посылает GET, а файл cookie отсутствует, что вызывает 401).
Кроме того, фрагмент JS отлично работает как в Firefox, так и в Opera.