Я использую Reportlab с Django для генерации pdf данных, вычисленных на стороне клиента.Открытие PDF-файла, созданного Reportlab в Django с использованием Ajax
Ajax выбран потому, что у клиента есть нетривиальные данные для передачи в формате pdf.
$.ajax({
type:'POST',
url:document.URL + '/export',
data: JSON.stringify(data),
dataType:'json',
contentType:'application/pdf',
success:function(data){
// Question 1. What should I insert here to download pdf?
},
error:function(e){
...
}
});
А вот view.py
def export(request, *args, **kwargs):
// Perform Ajax check
...
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="essay.pdf"'
p = canvas.Canvas(response, bottomup=0)
data = json.loads(request.body)
p.drawString(100, 100, "Hello world.")
p.showPage()
p.save()
return response
Вопрос 2. Я не мог получить Аякса, чтобы добиться успеха с его запросом, только вызывая функцию обратного вызова ошибки. Тот же вопрос был передан в этом вопросе
, но не ответил. Я что-то упускаю?