내 JavaScript 애플리케이션은 의 길이를 결정해야을 Ajax로 다운로드해야합니다. 보통 이것은 문제가되지 않으며 HEAD 요청을하고 Content-Length
의 압축을 풉니 다.크로스 도메인 Ajax 요청에서 Content-Length 헤더에 액세스하려면 어떻게해야합니까?
var xhr = $.ajax({type:"HEAD", url: "http://own-domain/file.html"})
xhr.getResponseHeader("Content-Length")
// "2195"
그러나 자원은 클라이언트와 다른 서버에 저장됩니다. (내가 제어하는 서버). 따라서 CORS를 사용하여 교차 도메인 아약스 요청을하고 HEAD 요청에 대한 프리 플라이트 요청 및 사용자 정의 헤더가있는 GET/POST 요청에 응답하도록 서버를 설정했습니다.
주에 큰 노력하고 있습니다,하지만 난 CORS 작업 할 때 방법은 HEAD 응답에서Content-Length
를 추출 찾을 수 없습니다
:
var xhr = $.ajax({type:"HEAD", url: "http://other-domain/file.html"})
xhr.getResponseHeader("Content-Length")
// ERROR: Refused to get unsafe header "Content-Length"
나는 다양한 헤더를 설정 실험 한 프리 플라이트 (preflighting) 또는 응답 (예 :
Access-Control-Expose-Headers: Content-Length
)이 제안하는 것으로 보이는 것이 좋습니다. 그러나 내가하는 일과 상관없이 클라이언트가 Content-Length 헤더를 사용할 수 있도록 만들 수는 없습니다. 어떤 제안?
(크롬 8) 나는 버그로 모든 브라우저에서 CORS 응답 헤더 지원을 발견했습니다
오른쪽. 웹킷 버그로 신고해야한다고 생각하십니까? –
예. 먼저 검색을 시도해보십시오. 이전에 버그를 발견했다고 생각했지만 지금은 찾을 수 없습니다. – monsur