我有一个脚本指向 badownload 函数来下载.docx https://en.wikipedia.org/wiki/Office_Open_XML文件。该函数的结果是下载了.docx 文件,但它不起作用。
这是脚本。
<script>
$("#download_draft").click(function(){
$("#download_draft").attr("disabled","disabled");
$("#download_draft").text("Saving Data....");
var json_data={};
$(".input_data").each(function(){
var value=$(this).val();
var parent_html=$(this).parent();
parent_html.html(value);
$(this).remove();
});
var jenis_ba = $('#id_jenis_ba').val();
json_data['jenis_ba'] = jenis_ba;
var nomor= $('#id_nomor').val();
json_data['nomor'] = nomor;
var tanggal = $('#id_tanggal').val();
json_data['tanggal'] = tanggal;
var judul = $('#id_judul').val();
json_data['judul'] = judul;
var keterangan = $('#keterangan').val();
json_data['keterangan'] = keterangan;
var json_tim = [];
$("tbody tr").each(function(row, tr){
json_tim[row] = {
'nama_tim' : $(tr).find('td:eq(0) input').val(),
'nip_tim' : $(tr).find('td:eq(1) input').val()
}
});
json_data['tim'] = json_tim;
var string_data=JSON.stringify(json_data);
const csrftoken = document.querySelector('[name=csrfmiddlewaretoken]').value;
$.ajax({
url:'{{ download_draft }}',
headers: {'X-CSRFToken': csrftoken},
type:'GET',
dataType: 'json',
data:{data:string_data},
success: function(data) {
badownload(data);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
},
complete: function() {
$("#download_draft").removeAttr("disabled");
$("#download_draft").text("Download Draft");
}
});
function badownload(result){
$.ajax({
url: '../../berita-acara/badownload',
headers: {'X-CSRFToken': csrftoken},
type:'POST',
dataType: 'json',
data:{data:result.result},
success: function(data) {
console.log('sukses');
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(url);
},
})
}
});
</script>
这就是函数。它必须下载下载.docx文件,但它不起作用:
class BeritaAcaraBA(View):
def post(self, request):
.....
......
.......
response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document')
response['Content-Disposition'] = 'attachment; filename=download.docx'
document.save(response)
return response
我尝试从下载 .docx 文件巴下载功能,但它不适用于Ajax。我是 Django 的新手。