我试图创建一个简单的pdf文件使用我的Django应用程序根据这个链接
https://docs.djangoproject.com/en/dev/howto/outputting-pdf/
唯一的变化是我通过Jquery使用POST请求创建它。。。你知道吗
jquery查询
$("#exportpdf").click(function(){
//alert('Hi' + '{{request.session.sessionid}}')
$.ajax({
async:false
,url:'/createpdf'
,type: 'POST'
,data: {session_id: '{{request.session.sessionid}}'}
,error: function(msg){
alert("Call to Create pdf failed")
}
})
})
你知道吗视图.py你知道吗
@csrf_exempt
def createpdf(request):
response = HttpResponse(content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
p = canvas.Canvas(response)
p.drawString(100, 100, "Hello world.")
p.showPage()
p.save()
return response
问题:
当我单击exportpdf id(作为post请求)时,使用上面的代码,pdf文档没有打开(没有看到任何操作/在web服务器日志中没有错误),但是当我作为GET请求直接访问/createpdf链接时,我可以看到pdf文档正确打开。。。你知道吗
我不能有一个post请求并打开一个pdf文档吗?它应该只是一个GET请求吗?你知道吗
ajax调用中缺少成功回调:
http://api.jquery.com/jquery.ajax/
我将添加一个
.done()
处理程序相关问题 更多 >
编程相关推荐