2013-07-25 28 views
0

我需要在jquery-fancybox中顯示一個由PHP函數生成的PDF報告。任何想法通過jquery-fancybox發送POST函數(url)?

問題是我需要將$_POST表單數據提交給fancybox。你能否告訴我如何做到這一點?

$(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 
}); 

PHP函數生成的PDF報告:

執行的功能來生成報告jQuery函數

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

回答

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 
});