모든 나가는 요청에 대해 사용자 지정 요청 헤더를 설정하여 응용 프로그램을 통해 만들어진 모든 요청을 추적하려고합니다. I이 사용을 달성 할 수 있었다 : DOM 요소의 src 속성 (즉 iframe이, 비디오 객체 등)의 요청을 개시 할 때DOM 요소가 시작한 요청에 대한 요청 헤더 설정
$ajax.Setup(
beforeSend: ...
하지만, I는 문제에 부딪쳤다. 검색 할 때 찾았습니다 : How to set custom http headers when changing iframe src? 그러나 이것을 시도 할 때 다운로드 대화 상자를 시작하지 못했습니다. 다음과 같이
var request = $.ajax({
context: this,
url: URI,
type: 'GET',
statusCode: {
200: function(data) {
var id = '#download-iframe';
var $iframe = $(id);
if($iframe.length === 0) {
$iframe = $('<iframe>')
.attr('id', 'download-iframe')
.appendTo('body');
}
$iframe.contents().find('html').html(data);
}
}
});
요청하는 모습에 대한 응답 헤더를 :
Content-Disposition:attachment; filename="PDF.pdf"
Content-Length:86712
Content-Type:application/pdf;charset=UTF-8
이
는 iframe에 원시 데이터를 표시하지만, 다운로드를 시작하지 않았다 코드처럼 보였다.A) (선호) DOM 요소 src 또는 B)를 설정하여 요청 헤더를 다른 방식으로 설정합니다. 시작하려면 다운로드 대화 상자를 가져옵니다.
를 작동 합성 +? 그건 당신에게 다운로드 옵션을 제공하지 않습니다. iframe에 자체적으로로드되도록합니다. src를 PDF를 보내는 URL로 설정하여 iframe을 만들고 삽입합니다. 나는 당신의 문제에 대한 설명으로 혼란 스럽다. 그래서 명왕성의 날씨에 대해 이야기하고 있을지도 모른다. ... –
그게 내가 원래하고 있었던거야. 그때 src는 URL로 설정했지만, DOM은 자바 스크립트를 우회하여 요청을 시작했다. 그래서 ajaxSetup에 구성된 요청 헤더는 결코 설정되지 않았다. – user856354
그런 경우 작동하지 않습니다. 그러나 요청 헤더 대신 URL에 매개 변수를 추가하는 것이 좋습니다. 그래서 당신은 여전히 그것을 추적 할 수 있습니다. 어쨌든 iframe에 내용을 쓰는 것은 다운로드가 아닙니다. 브라우저가 어떻게 파일을 다운로드하고 저장할지 제어하는 방법은 무엇입니까? –