从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页面。
答
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();
});
那么你就会因为它只是一个需要打印或被查看的报告而有很多冲突,你不能使用iframes或modals或其他东西吗? – Gntem
我迄今为止只尝试过这一点 - 更重要的是我想将报告保存为excel文件。 –
请用[alert()'来排除故障。](http://stravid.com/en/stop-the-javascript-alert-madness/),请改用'console.log()'。 –