ajax返回的是流如何转换为pdf,如何在AJAX请求成功响应中返回PDF文件

我通过AJAX获得两个日期,开始和结束日期。我处理这两个日期的数据,生成一个报告,然后返回一个HttpResponse。PDF报告现在保存在我的主项目目录中。现在我得到了AJAX的回复。所以,现在我应该如何处理success函数中的响应,从服务器发回并打开一个PDF文件。

谢谢。

jQuery$(function() {

$("#report_submit").click(function(){

$.ajax({

type : "POST",

url: "/reports/",

data : { 'start_date' : $("#startDate").val() , 'end_date' : $("#endDate").val() },

success : function(result){

},

error : function(result){

}

});

});

});

Django视图代码def generate_report(request):

ctx = {}

if request.is_ajax():

if request.POST.has_key('start_date'):

start_date = datetime.strptime(request.POST[ 'start_date'] , '%m/%d/%Y')

end_date = datetime.strptime(request.POST[ 'end_date'] , '%m/%d/%Y')

......

# PDF GENERATED in MAIN PROJECT DIRECTORY

with open(os.path.join(os.path.dirname(__file__),'../../../../gui','Report.pdf')) as pdf:

response = HttpResponse(pdf.read(), content_type='application/pdf')

response['Content-Disposition'] = 'inline;filename=Report.pdf'

return response # so, now when I send a response back, how should I process it in AJAX success function?

pdf.closed

return render(request, 'generate_report/reports.html', ctx)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值