如果我调用控制器,fpdf 可以正常工作,如果我通过 jquery 调用它,则无法正常工作


fpdf works properly if i call the controller and doesnt work if i call it through jquery

我能够使用 fpdf 获取 pdf 的输出,问题是如果通过 jquery 调用函数,我不会生成它......而是 PDF 显示在 Firebug 中?如何解决这个问题

萤火虫中的输出显示

%PDF-1.3
3 0 obj
<</Type /Page
/Parent 1 0 R
/Resources 2 0 R
/Contents 4 0 R>>
endobj
4 0 obj
<</Filter /FlateDecode /Length 582>>
stream
x���Ms�0���{LU���͞&�v�L�p��b��N��`Zc���k,ij��Bgh��b���{�|�����șP`�f�B���sS��C���*+�[H��K�ŁO��מ�����M:<�3�jt�:Z��1,�`�ˤc
�Ҁ��        ��0���~��^��U�  �;�q�_6y
y�� ��+Q�6��e/���C%�ً+�!q5+�Sf

jquery:

        $.post(url+"/create_pdf",js,function(data){
        },"json");

$.post() 的 Instread(它将运行 PDF gnerator 并将内容返回给 AJAX),您应该将用户重定向到浏览器中的 URL:即使用

window.location.href=url+"registration/create_member?" + $.param(js);

您需要将 PDF 生成函数转换为接受 $_GET,而不是 $_POST

或者,像现在一样生成pdf文件,但存储在服务器上(临时)并通过ajax将URL传回,然后ajax通过windows.location.href将用户重定向到该临时文件位置。