2014-02-12 3 views
0

Возможно ли получить только заголовки ответов от XMLHttpRequest без скачивания файлов?Как получить только заголовки ответов из XMLHttpRequest

+0

понижающего проголосовала за принятие на стороне сервера ответ на стороне клиента вопрос в , – John

+1

Этот ответ помог мне с моей проблемой 4 года назад, и кажется, что решения по-прежнему нет на стороне клиента. Если у вас есть, пожалуйста, поделитесь им, и я приму ваш ответ. – Anton

ответ

1

Если сервер, на который вы выполняете запрос, поддерживает этот метод, похоже, что вы хотите сделать запрос HTTP HEAD. См. HTTP spec.

Например, сравните вывод с curl -v -X GET https://github.com и curl -v -X HEAD https://github.com.

Также см HTTP HEAD Request in Javascript/Ajax?

+0

Спасибо! Это именно то, что мне нужно. – Anton

+0

Проголосовало за ответ на вопрос о стороне клиента с ответом на сервер. – John

+0

Я согласен, что это помогло бы здесь также показать, как получить заголовки из объекта ответа XHR, но для вопроса OPs я считаю, что ответ в корне прав. Необходимая здесь HTTP-операция - это запрос HEAD. Однако я, возможно, неправильно понял этот вопрос. –

-1

Использование JavaScript (как указано в вопросе) просто использовать head запрос через AJAX:

var xhr = new XMLHttpRequest(); 
var method = 'head'; 
var url = 'https://www.example.com/'; 
xhr.open(method,url,true); 
xhr.send(null); 

xhr.onreadystatechange = function() 
{ 
if (xhr.readyState === 4) 
{ 
    console.log(xhr.getAllResponseHeaders()) 
} 
} 
+0

Неслучайно это заставляет браузер также получать весь ответ HTTP-ответа от сервера. Это не отвечает на вопрос OP. Он просто показывает им, как получить данные заголовка из объекта ответа в JS. Первоначальный вопрос, заданный, чтобы получить заголовки ответов, не получая контент –

+0

@StephenIerodiaconou ** Очевидно, что вы * * не * на самом деле * смотрите * на код и замечаете параметр 'method' ** **, который преднамеренно является параметром для причина. Это нормально, это не значит, что внимание уделяется программированию или чему-либо еще. – John

+0

жаль, что не уверен, что вы имеете в виду, вы говорите правильный ответ, чтобы использовать HTTP POST в соответствии с вашим ответом? Или читатель должен понимать, что HTTP-метод в вашем коде выше должен быть изменен на 'head', если они хотят указать серверу, что они также не хотят полного тела ответа? В вашем примере POST будет по-прежнему возвращать тело (если сервер создает один для данной конечной точки). Однако семантика запроса HEAD указывает серверу, что он не отвечает телом (при условии, что конечная точка поддерживает HEAD). С удовольствием удаляем вниз, если объясняем. –

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