AJAX를 통해 파일 다운로드
버튼 클릭을 통해 AJAX 다운로드 요청을 시작하려고 하면 해결 방법이 다음과 같은 문제가 발생할 수 있습니다. 현재 채용하고 있는 것은 효과적이지 않은 것 같습니다.
귀하의 접근 방식에는 XMLHttpRequest 객체를 생성하고 GET 요청을 보내는 것이 포함됩니다. 특정 헤더를 설정하고 파일에서 데이터를 읽는 PHP 스크립트(download.php)입니다. 그러나 이 방법은 예상되는 다운로드 프롬프트를 실행하지 않습니다.
해결 방법
문제의 핵심은 AJAX만으로는 파일 다운로드를 직접 시작할 수 없다는 사실입니다. 이를 달성하려면 다음 두 가지 방법 중 하나를 활용할 수 있습니다.
window.location 사용
이 방법은 간단하며 AJAX 요청이 필요하지 않습니다. 다운로드 URL을 window.location에 할당하기만 하면 됩니다.
window.location = "download.php";
이렇게 하면 다운로드 스크립트로 이동하여 사용자에게 현재 페이지를 변경하지 않고 파일을 다운로드하라는 메시지가 표시됩니다.
사용 다운로드 속성(HTML5)
브라우저 지원이 우려되는 경우 다운로드 속성(Firefox 및 Chrome).
<a href="download.php" download>Download File</a>
다운로드 속성은 사용자에게 현재 페이지를 떠나지 않고 파일을 다운로드하라는 메시지를 표시합니다.
위 내용은 AJAX가 파일 다운로드를 트리거하지 않는 이유와 대안은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!