2016-08-15 2 views
12

크롬에서 버전 52.0.2743.82 (64 비트)를 사용하고 있습니다. 나는 응답의 모든 헤더를 얻고 싶다. 다음 스 니펫은 content-type 만 반환하지만 크롬 개발 도구를 들여다 보면 많은 다른 응답 헤더가 표시됩니다. 가져 오기에서 다른 헤더를 가져 오는 방법.가져 오기에서 응답의 헤더를 얻는 방법

fetch('https://httpbin.org/get') 
    .then(response => { 
     const headers = response.headers.entries(); 
     let header = headers.next(); 
     while (!header.done){ 
     console.log(headers.value); 
     header = header.next(); 
     } 
    }) 

나는 수동으로 github 구현을 시도했다. 아직도 운이 없다.

+2

찾고있는 헤더를 알고 있다면 response.headers.get ('header-name')을 사용해보십시오 – KumarM

+0

이 페이지 하단의 호환성 표에서 크롬이 항목()을 지원한다고 말하지 않습니다. 아직. https://developer.mozilla.org/en-US/docs/Web/API/Headers – KumarM

답변

26

ajax를 통해 도메인 간 콘텐츠를 요청할 때 모든 헤더에 액세스 할 수 없습니다. 출발지가 동일하면 모든 헤더에 액세스 할 수 있습니다.

으로는 Pragma 헤더에 액세스 할 수있는, W3 사양 hereContent-Type, Last-modified, Content-Language, Cache-Control, Expires에 설명했다.

추가 https://httpbin.org/get 액세스 할 수있는 헤더 목록에서 Content-Type 헤더 만 보내면됩니다.

편집 : 응답에 클라이언트가 액세스 할 헤더가있는 Access-Control-Expose-Headers을 보내어 비표준 CORS 응답 헤더를 노출 할 수 있습니다.

+0

이것은 매우 유용했습니다. Rails 5 개발자는'config/initializers/cors.rb' 편집 작업을했습니다. 나는 다음과 같이 덧붙였다.''자원 '*'문장에 [ 'Location']을 노출 시키십시오. – jasonseminara

관련 문제