【问题标题】:Display processing page then redirect when complete显示处理页面,完成后重定向
【发布时间】:2010-03-08 11:45:31
【问题描述】:

我有一个脚本需要一段时间。

我想在脚本处理过程中显示一个页面,然后在处理完成时重定向。

例如:form.php -> processing.php -> display_result.php

我希望在表单提交后立即显示 processing.php(正在处理您的信息,请稍候...)

处理完成后,页面应重定向到 display_result.php

有没有办法在处理开始之前将内容刷新到浏览器,然后在处理完成时重定向?

【问题讨论】:

    标签: php codeigniter redirect header


    【解决方案1】:

    这听起来像是一个 Javascript/Ajax 任务。

    Ajax 调用是异步的,这使得它们非常适合您想要实现的目标。

    您通过 ajax 请求发送表单内容,然后在请求发生时操纵页面的 DOM 以显示类似于加载栏的内容。当请求完成后,您可以再次操作 DOM 以显示表单处理的结果,或使用该信息重定向到新页面。

    【讨论】:

      【解决方案2】:

      您可以通过简单的方式做到这一点。

      提交表单后,您的处理将在服务器端开始。

      使用简单的元标记将用户重定向到 processing.php 刷新内容,几秒钟后重定向到相同的 processing.php。

      例如<meta http-equiv="refresh" content="600">

      processing.php 应该有服务器端脚本逻辑来检查您的处理是否完成。如果完成,将用户重定向到 display_result.php。

      【讨论】:

        【解决方案3】:

        您应该使用 Ajax 来完成这项任务。

        <div class="trigger">Trigger</div>
        <div class="result"></div>
        <div class="log"></div>
        
        $('.log').ajaxStart(function() {
          $(this).text('Please wait...');
        });
        

        参考
        http://api.jquery.com/ajaxStart/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-03-09
          • 2015-07-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-20
          • 1970-01-01
          相关资源
          最近更新 更多