从jquery ajax加载php页面卸载当前页面

从jquery ajax加载php页面卸载当前页面

问题描述:

我需要生成一个显示在php页面中的报告,这将通过jquery ajax调用来调用。任何机构可以帮助我如何做到这一点。从jquery ajax加载php页面卸载当前页面

jQuery的AJAX职位是如下:

$('#report_condition #Submit_rpt_betn_dates').on('click', function(){ 
     var start_dt = $('#report_condition').find('.rpt_betn_dates').find('.start_search_date').val(); 
     var end_dt = $('#report_condition').find('.rpt_betn_dates').find('.end_search_date').val(); 
     alert('you want to generate report between '+start_dt+' and '+end_dt); 

    $.ajax({ 
     type: "POST", 
     url: "./report-betn-dates.php", 
     data: {'startdt':start_dt, 'enddt':end_dt}, //the first parameter in the pair is actually the key for $_POST in PHP 
     //and it must be withing quotes for ajax to run!! 
     crossdomain: true, 
     success: function(response) { 
     } 
    }); 
}); 

$('body').html(response);尝试Ajax调用成功参数内。但由此我无法访问PHP页面的单独的CSS文件。因此,我想卸载包含ajax调用的页面,并使用通过$_POST[]发送的数据加载php页面。

+0

那么你就会因为它只是一个需要打印或被查看的报告而有很多冲突,你不能使用iframes或modals或其他东西吗? – Gntem

+0

我迄今为止只尝试过这一点 - 更重要的是我想将报告保存为excel文件。 –

+0

请用[alert()'来排除故障。](http://stravid.com/en/stop-the-javascript-alert-madness/),请改用'console.log()'。 –

Ajax适用于部分内容加载,异步交互等。由于您试图实现的是使用自己的静态资源(css,js)加载的完整新页面,因此这是完美的“同步”场景。 那么,为什么不使用更简单的安装程序,如表单发送所需的变量后,并将用户移动到正确的PHP页面?

$('#report_condition #Submit_rpt_betn_dates').on('click', function(){ 

     var fake_form = $('<form method="post" action="report-betn-dates.php">'); 
     var input_start = $('<input type="hidden" name="startdt">'); 
     var input_end = $('<input type="hidden" name="enddt">'); 

     $(fake_form).append(input_start); 
     $(fake_form).append(input_end): 

     $(fake_form).submit(); 
});