django 사이트에서 reportlab을 사용하여 PDF를 작성하고 반환합니다. 지금까지는 단일 '보고서'페이지로 제한되었지만 사용 된 장소를 확장하려고합니다. 적절한 응답을 반환하는 아약스 호출을 만들었지 만 PDF 저장 /보기 대화 상자가 나타나지 않고 대신 페이지가 새로 고침됩니다. 나는 내 아약스 호출에 성공 함수가 없기 때문에 이것이 무엇인지 알아 내지 못했다고 생각한다.AJAX에 대한 PDF 응답이 표시되지 않습니다.
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를 열거 나 저장하기위한 대화 상자. 디버거를 사용하면 돌아 오는 응답이 제대로 작동하는 것과 같습니다.
아약스의 성공을 제대로 처리 할 필요가 있다고 생각하지만 그게 무엇인지 확신 할 수 없습니다.
난 정말 이해할 수없는 파일 이름 = "somefilename.pdf" '. 버튼을 누르고 PDF 형식의 응답을 받으려면 : 정상적인 제출 버튼이하는 것과 정확히 같습니다. –