Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mencetuskan Muat Turun Fail daripada AJAX POST Responses?

Bagaimana untuk Mencetuskan Muat Turun Fail daripada AJAX POST Responses?

DDD
Lepaskan: 2024-12-31 01:50:09
asal
208 orang telah melayarinya

How to Trigger File Downloads from AJAX POST Responses?

Cara Mengendalikan Muat Turun Fail dengan AJAX POST

Apabila menghantar permintaan AJAX POST dalam aplikasi JavaScript, pembangun mungkin menghadapi senario di mana pelayan bertindak balas dengan fail dan bukannya JSON data. Dalam kes sedemikian, mencetuskan muat turun fail dalam penyemak imbas pelanggan menjadi perlu. Artikel ini meneroka penyelesaian untuk cabaran ini.

Permintaan AJAX biasanya menentukan Jenis Kandungan dan memeriksa pengepala Pelupusan Kandungan untuk mengenal pasti jenis respons. Setelah menentukan bahawa respons mengandungi fail, persoalan timbul: bagaimana untuk memulakan muat turun?

Penyelesaian terletak pada menggunakan bahagian FileAPI dalam penyemak imbas moden. Begini caranya:

  1. Konfigurasikan XMLHttpRequest:

    • Tetapkan responseType kepada 'blob' untuk menerima respons sebagai gumpalan data binari.
    • Tentukan pengepala jenis Kandungan sebagai 'application/x-www-form-urlencoded' untuk POST permintaan.
  2. Kendalikan Acara Onload:

    • Pada respons yang berjaya (status 200), ekstrak gumpalan daripada respons.
    • Dapatkan pengepala Pelupusan Kandungan untuk menyemak cadangan nama fail.
  3. Mulakan Muat Turun:

    • Untuk Internet Explorer, gunakan window.navigator.msSaveBlob untuk menyimpan gumpalan dengan nama fail yang dicadangkan.
    • Untuk pelayar lain, manfaatkan window.URL atau window.webkitURL untuk membuat URL yang boleh dimuat turun untuk gumpalan.
    • Gunakan atribut HTML5 a[muat turun] untuk menentukan nama fail (jika tersedia) atau ubah hala pengguna ke URL yang boleh dimuat turun.
    • Batalkan URL yang boleh dimuat turun sementara selepas kelewatan yang singkat untuk pembersihan .
  4. jQuery.ajax Alternatif:

    • Gunakan kaedah jQuery.ajax dengan konfigurasi yang serupa dan kendalikan gumpalan dalam panggilan balik kejayaan.

Ringkasnya, dengan menggunakan FileAPI, adalah mungkin untuk memulakan muat turun fail dalam penyemak imbas walaupun respons pelayan dicetuskan oleh permintaan AJAX POST. Teknik ini disokong dalam penyemak imbas moden dan menyediakan pengalaman yang mudah dan mesra pengguna untuk memuat turun fail daripada aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk Mencetuskan Muat Turun Fail daripada AJAX POST Responses?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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