LB777
@LB777

Как получить значение заголовков в AJAX запросе?

Соединение с сервером через https.
Он мне отдает заголовки:
Content-Type: application/json; charset=utf-8
и
X-Powered-By: ASP.NET
Что подтверждает фидлер.
Аякс запрос делаю через XMLHttpRequest

var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, true);
xmlhttp.onreadystatechange = function(){
 if (xmlhttp.readyState === 4) {
  if(this.status >= 200 && this.status < 400) {
   var contentType = xmlhttp.getResponseHeader('Content-Type');
   var poweredBy = xmlhttp.getResponseHeader('X-Powered-By');
  }
 }
};
xmlhttp.send(null);


Но почему-то я получаею значение только от заговолка Content-Type , а от заголовка X-Powered-By получаю значение null.
Почему так? И как сделать так, что бы через XMLHttpRequest получать значение заголовка X-Powered-By ?
===============================
Как в последствии выяснилось проблема кроется в кросдоменном запросе. На сервере, вроде разрешены все заголовки. Может ещё что-то надо дополнительное указывать?
  • Вопрос задан
  • 684 просмотра
Решения вопроса 1
LB777
@LB777 Автор вопроса
Помогло Access-Control-Expose-Headers
Т.е. на сервере прописали
System.Web.HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", "X-Powered-By");

И все заработало
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@iShatokhin
JS developer
Должно работать. Попробуйте посмотреть через xmlhttp.getAllResponseHeaders().
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы