컨트롤러 (주) 내에서 함수 (my_pdf)를 성공적으로 호출하는 앵커 태그가 있습니다. 여기 jQuery, Codeigniter 및 DOMPDF : 앵커는 작동하지만 AJAX는 사용하지 않습니다.
<a href="main/my_pdf">Press Me</a>
는 메인 컨트롤러의 기능은 다음과 같습니다
function my_pdf()
{
$this->load->helper('dompdf');
$this->load->helper('file');
$html = "<p>Testing</p>";
pdf_create($html, 'somefilename');
echo "Your PDF has been created.";
}
DOMPDF library 작품과 컨트롤러에 검색 할 때이 앵커 태그에 의해 호출 될 때 또는 예상대로 파일 "somefilename.pdf"를 생성/URI와 기능은 다음과 같이 대신 앵커의
http://localhost/main/my_pdf
을, 그러나, 나는 jQuery를 AJAX 요청에서이 함수를 호출 할 필요가있다.
<div id="pdf"><img src="assets/images/pdf-icon.gif" /></div>
<div id="notice"></div>
및 jQuery를 지원 : 나는 my_pdf 함수에서 pdf_create 호출을 주석 경우
$('#pdf').click(function(){
$.ajax({
url: 'main/my_pdf',
type: 'POST',
success: function(msg) {
$('#notice').html(msg);
}
});
return false;//toggled this between true/false and still not working
});
, 내가 AJAX 호출이 예상대로에 에코 문자열을 반환 확인 다음은 HTML입니다. 문제는 AJAX를 사용하여 main/my_pdf를 호출하면 pdf가 작성되지 않는다는 것입니다. 사실, pdf_create는 pdf를 렌더링하는 데 사용될 것으로 예상되는 코드의 긴 문자열을 반환합니다. 아약스 성공 메시지는 다음과 같은 문자열을 반환
퍼센트의 PDF-1.3 1 0 OBJ < </형/카탈로그/개요 2 0 R/페이지 3 0 R을/OpenAction 8 0 R >> endobj 2 0 OBJ < </유형/윤곽선/개수 0 >> endobj 3 0 obj < </유형/페이지/키즈 [6 0 R]/개수 1/리소스 < </ProcSet 4 0 R/Font < </F1 9 0 R >> >>/MediaBox [0.000 0.000 612.000 792.000] >> endobj 4 0 obj [/ PDF/Text] endobj 5 0 obj < </작성자 (DOMPDF)/CreationDate (D : 20110225190447-05'00 ')/ModDate (D : 20110225190447-05 '00') >> endobj 6 0 obj </타입/페이지/상위 3 0 R/내용량 R >> 7 0 7 0 endobj OBJ < </길이 73 >> 스트림 0.000 0.000 0.000의 RG BT 34.016 723.208 TD/F1 Tf를 12.0 [(시험)
나는 어떤 제안이든 열려 있습니다.
'그건. ''요소를 사용하여'main/my_pdf'에 접근하면 브라우저는 GET 요청을합니다; 그러나 AJAX 호출은 POST 요청을 수행 중입니다. 'pdf_create'는 POST 요청과 다른 것을합니까? –