【发布时间】:2014-07-24 17:51:18
【问题描述】:
我在 django 网站上使用 reportlab 来创建和返回 PDF。到目前为止,这仅限于一个“报告”页面,但我正在尝试扩展它使用的地方。我创建了一个返回正确响应的 ajax 调用,但保存/查看 PDF 的对话框从未出现,而是页面刷新。我猜这是因为我的 ajax 调用没有成功函数,但我不确定它应该是什么。
JS:
function get_report(){
$.ajax({
url: '{{root_url}}/timecard/',
type: 'POST',
data: {'emp_id':employee_id},
dataType: 'html',
});
}
HTML:
<input id="id_report" type="submit" value="Print" onclick="get_report()"/>
姜戈:
def view_timecard(request):
if request.method == 'POST':
response = get_timecard_report(request)
return response
函数 get_timecard_report 使用预先存在的函数来构造一个响应,该响应在原始页面上显示一个对话框以打开或保存 PDF。使用调试器,返回的响应看起来与正常运行的响应相同。
我想我只需要在 ajax 成功中正确处理这个问题,但我不确定那会是什么。
【问题讨论】:
-
我真的不明白你为什么要在这里使用 ajax。您想按下一个按钮并以 PDF 的形式获得响应:这正是普通提交按钮所做的。