Bagaimana untuk Muat Turun Fail melalui POST dengan JSON dalam JavaScript/jQuery?

DDD
Lepaskan: 2024-10-19 15:19:30
asal
575 orang telah melayarinya

How to Download Files via POST with JSON in JavaScript/jQuery?

Memuat turun Fail melalui POST dengan JSON dalam JavaScript/jQuery

Apabila berurusan dengan perkhidmatan web RESTful, respons pengendalian boleh berbeza-beza bergantung pada formatnya. Artikel ini meneroka senario tertentu yang objektifnya adalah untuk menyerahkan permintaan POST dengan data JSON dan mendapatkan semula fail yang boleh dimuat turun sebagai balasan, menggesa penyemak imbas untuk menyimpannya.

Penyelesaian #1: Suntikan iframe

Satu pendekatan ialah mencipta iframe dan menambahkan sumbernya pada badan halaman web. Ini akan mencetuskan gesaan muat turun penyemak imbas. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah ini boleh mengganggu kandungan halaman sedia ada, jadi menggunakan appendChild dan bukannya innerHTML adalah disyorkan.

<code class="javascript">$.post('/create_binary_file.php', postData, function(retData) {
  var iframe = document.createElement("iframe");
  iframe.setAttribute("src", retData.url);
  iframe.setAttribute("style", "display: none");
  document.body.appendChild(iframe);
});</code>
Salin selepas log masuk

Penyelesaian #2: jQuery Append

A jQuery- alternatif berasaskan ialah menggunakan kaedah append() untuk menambah iframe pada badan.

<code class="javascript">$.post('/create_binary_file.php', postData, function(retData) {
  $("body").append("<iframe src='" + retData.url+ "' style='display: none;' ></iframe>");
});</code>
Salin selepas log masuk

Mekanisme

Kedua-dua penyelesaian bergantung pada andaian bahawa respons POST termasuk sifat 'url' menunjuk ke fail yang boleh dimuat turun. Apabila iframe ditambahkan pada halaman dengan URL itu, penyemak imbas memintas permintaan dan menggesa pengguna untuk memuat turun fail. Pendekatan ini memerlukan konfigurasi jenis MIME yang betul pada pelayan web.

Penilaian

Walaupun penyelesaian ini menyediakan pendekatan yang berdaya maju untuk memuat turun fail melalui permintaan POST, adalah penting untuk mempertimbangkan kemungkinan had dan kelemahan, terutamanya apabila berurusan dengan fail yang lebih besar. Selain itu, mungkin perlu untuk melaksanakan fungsi tambahan dalam pengendali kejayaan AJAX untuk membolehkan pengendalian ralat dan memberikan maklum balas kepada pengguna.

Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail melalui POST dengan JSON dalam JavaScript/jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan