有没有想通过jquery-fancybox为函数(url)发送POST?

时间:2013-07-25 12:48:06

标签: php jquery fancybox

我需要在jquery-fancybox中显示从PHP函数生成的PDF报告。

问题是我需要将$_POST表单数据提交到fancybox。你能告诉我怎么做这个吗?

执行生成报告功能的jQuery函数:

$(function() {

    $("*").on("click", ".fancypdf", function() {

        var form = $("form").serialize();
        var url = this.value;
        console.log("Button=" + url);

        $.fancybox({
             type: 'html',
             autoSize: false,
             content: '<embed src="' + url + '#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />',
             beforeClose: function() {
                 $(".fancybox-inner").unwrap();
             }
         }); //fancybox
    return false;
 }); //click
});

生成报告PDF的PHP函数:

function exibirRelatorioPDF($dados = '') {
    echo "POST=<br />";
    print_r($_POST);
    $dados = $this->pesquisar();
    echo "Pesquisado";
    CarregaJanelaPDF('almembal/ajuste', $dados);
}

1 个答案:

答案 0 :(得分:0)

我解决了这个问题!我打开fancybox后插入了一个ajax请求。

$(function() {

    $("*").on("click", ".fancypdf", function() {

        var data = $("form").serialize();
        var url = this.value;
        console.log("Button=" + url);
        console.log("Data=" + data);

        $.fancybox({
            type: 'ajax',
            autoSize: false,
            content: '<embed src="' + url + '#nameddest=self&page=1&view=FitH,0&zoom=80,0,0" type="application/pdf" height="99%" width="100%" />',
            beforeClose: function() {
                $(".fancybox-inner").unwrap();
            }
        }); //fancybox

        $.ajax({
            type: "POST",
            cache: false,
            url: url,
            data: data,
            success: function(data) {
                $.fancybox(data);
            }
        });

        return false;
    }); //click
});