Bagi mereka yang mencari pendekatan yang lebih modern, Anda dapat menggunakan fetch API
. Contoh berikut menunjukkan cara mendownload file spreadsheet. Itu mudah dilakukan dengan kode berikut.
fetch(url, {
body: JSON.stringify(data),
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8'
},
})
.then(response => response.blob())
.then(response => {
const blob = new Blob([response], {type: 'application/application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
const downloadUrl = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = downloadUrl;
a.download = "file.xlsx";
document.body.appendChild(a);
a.click();
})
Saya yakin pendekatan ini jauh lebih mudah dipahami daripada XMLHttpRequest
solusi lain . Juga, ia memiliki sintaks yang mirip dengan jQuery
pendekatan tersebut, tanpa perlu menambahkan pustaka tambahan.
Tentu saja, saya akan menyarankan untuk memeriksa browser mana yang Anda kembangkan, karena pendekatan baru ini tidak akan berfungsi di IE. Anda dapat menemukan daftar kompatibilitas browser lengkap pada tautan berikut .
Penting : Dalam contoh ini saya mengirim permintaan JSON ke server yang mendengarkan yang diberikan url
. Ini url
harus diatur, pada contoh saya, saya berasumsi Anda tahu bagian ini. Juga, pertimbangkan tajuk yang diperlukan agar permintaan Anda berfungsi. Karena saya mengirim JSON, saya harus menambahkan Content-Type
header dan mengaturnya ke application/json; charset=utf-8
, agar server mengetahui jenis permintaan yang akan diterimanya.