Memuat Turun Fail melalui AJAX
Apabila cuba untuk memulakan permintaan muat turun AJAX melalui klik butang, anda mungkin menghadapi masalah di mana penyelesaiannya anda sedang menggaji nampaknya tidak berkesan.
Pendekatan anda melibatkan mencipta objek XMLHttpRequest dan menghantar permintaan GET kepada skrip PHP (download.php) yang menetapkan pengepala khusus dan membaca data daripada fail. Walau bagaimanapun, kaedah ini tidak mencetuskan gesaan muat turun yang dijangkakan.
Penyelesaian
Inti isu terletak pada hakikat bahawa AJAX sahaja tidak boleh memulakan muat turun fail secara langsung. Untuk mencapai matlamat ini, anda boleh memanfaatkan salah satu daripada dua kaedah:
Menggunakan window.location
Kaedah ini mudah dan tidak memerlukan permintaan AJAX. Hanya berikan URL muat turun ke window.location.
window.location = "download.php";
Ini akan menavigasi ke skrip muat turun dan menggesa pengguna memuat turun fail tanpa menukar halaman semasa.
Menggunakan atribut muat turun (HTML5)
Jika sokongan penyemak imbas membimbangkan, pertimbangkan untuk menggunakan atribut muat turun (disokong oleh Firefox dan Chrome).
<a href="download.php" download>Download File</a>
Atribut muat turun menggesa pengguna memuat turun fail tanpa meninggalkan halaman semasa.
Atas ialah kandungan terperinci Mengapa AJAX Tidak Mencetuskan Muat Turun Fail, dan Apakah Alternatifnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!