Междоменный вызов jQuery ajax с учетными данными
мы выполнили следующие шаги:
Получить сервер для разрешения междоменных вызовов (со всеми заголовками и прочим)Это работаетПротестируйте сервер с несколькими междоменными вызовамиЭто работаетПолучите сервер, чтобы заставить сертификатЭто работаетЗайдите в файл на сервере с браузером, выберите нужный сертификат и посмотрите файлЕще работаетТеперь мы переходим к приятной частиОбъедините междоменные звонки с сертификатом <-- это не работает
проблема
Я получаю запрос сертификата из браузера, но когда я выбираю тот же сертификат, что и при использовании браузера, звонок выполняется, но я получаю 403 Запрещено.
Код
$.ajax({
type: "POST",
xhrFields: {withCredentials: true},
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
url: "https://www.myOtherServer.com/testfile.asp",
});
Есть идеи?
редактировать
Access-Control-Allow-Credentials: true
иAccess-Control-Allow-Origin
правильно настроены.
Дополнительная информация
Я начинаю думать, что это как-то связано с типом контента. Когда я изменяю это на"text/html"
Я получаю415
ошибка, но мне действительно нужно отправить XML, потому что это сервер SOAP.
Заголовки ответа
Access-Control-Allow-Cred... true
Access-Control-Allow-Head... Content-Type, Origin, Man, Messagetype, Soapaction, X-Test-Header
Access-Control-Allow-Meth... GET,POST,HEAD,DELETE,PUT,OPTIONS
Access-Control-Allow-Orig... https://www.mywebsite.com
Access-Control-Max-Age 1800
Cache-Control private
Content-Length 5561
Content-Type text/html; charset=utf-8
Date Wed, 19 Dec 2012 15:06:46 GMT
Server Microsoft-IIS/7.5
X-Powered-By ASP.NET
Заголовки запроса
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language nl,en-us;q=0.7,en;q=0.3
Access-Control-Request-He... content-type
Access-Control-Request-Me... POST
Cache-Control no-cache
Connection keep-alive
Host myhoast.com
Origin https://www.mywebsite.com
Pragma no-cache
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0