繁体   English   中英

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

[英]load php page from jquery ajax post unloading the current page

我需要生成一个显示在php页面中的报告,该报告将由jquery ajax调用来调用。 任何机构都可以帮助我。

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)加载完整的新页面,因此这是完美的“同步”方案。 因此,为什么不使用更简单的设置(如表单)在表单中发送所需的var,然后将用户移动到正确的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();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM