JavaScript/jQuery에서 JSON 데이터를 사용하여 POST를 통해 파일 다운로드
RESTful 웹 서비스를 다룰 때 JSON 및 다운로드 가능한 바이너리 응답을 모두 다음에서 처리합니다. 클라이언트 측은 일반적인 과제입니다. 이 문서에서는 JavaScript 및 jQuery를 사용하여 이를 수행하는 방법을 설명합니다.
원하는 시나리오에는 JSON 데이터가 포함된 POST 요청을 REST 엔드포인트에 제출하는 것이 포함됩니다. 요청 매개변수에 따라 응답은 JSON 데이터 또는 다운로드 가능한 파일이 될 수 있습니다. 이를 처리하기 위해 몇 가지 옵션을 살펴봅니다.
AJAX 사용:
첫 번째 접근 방식은 jQuery $.ajax() 함수를 사용하는 것입니다. 그러나 AJAX 요청의 dataType 옵션은 JSON을 포함한 특정 데이터 유형만 지원합니다. 즉, AJAX를 사용하여 파일을 직접 다운로드하는 것은 불가능합니다.
서버에서 파일 URL 생성:
대체 접근 방식은 서버에서 다운로드 가능한 URL을 생성하도록 하는 것입니다. 파일에 대한 URL이 포함된 JSON 응답을 반환합니다. 그러면 클라이언트는 이 URL을 사용하여 다운로드를 시작할 수 있습니다. 이 방법에는 여러 개의 서버 호출이 필요하므로 이상적이지 않을 수 있습니다.
iFrame 사용:
보다 최적의 솔루션은 iFrame을 사용하는 것입니다. POST 요청을 제출한 후 클라이언트 앱의 본문에 iFrame을 생성하고 해당 src 속성을 제공된 URL로 설정할 수 있습니다. iFrame이 로드되면 브라우저는 사용자에게 파일을 다운로드하라는 메시지를 표시합니다.
<code class="javascript">$.post('/create_binary_file.php', postData, function(retData) { $("body").append("<iframe src='" + retData.url+ "' style='display: none;' ></iframe>"); });</code>
iFrame 방법의 장점:
고려 사항:
위 내용은 JavaScript/jQuery에서 JSON 데이터를 사용하여 POST를 통해 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!