Пустой экран в codeigniter при запуске процесса - PullRequest
0 голосов
/ 04 июля 2018

Я занимаюсь разработкой php-скрипта с использованием фреймворка codeigniter. Мой скрипт выполняет тяжелый процесс загрузки данных в начале скрипта. Я использовал gif, чтобы избежать отображения пустого экрана для пользователя, пока он не завершит бэкэнд-процесс. Однако я заметил, что gif, который я использовал в представлении, не будет отображаться, пока все другие процессы не будут завершены, что бесполезно.

Можно ли в любом случае запустить экран предварительной загрузки до завершения других процессов? Если так, как я могу это сделать?

Я попытался добавить страницу, которая содержит gif вверху (перед запуском всех других процессов), но все равно не повезло, он загружает все вместе только с другими представлениями.

Заранее спасибо

МОЙ КОД КАК СЛЕДУЮЩИЙ,

SCRIPT

 <script>
        $(window).load(function() {
        //alert("IN");
        $.ajax({
        method :'GET',
        url: baseUrl+'main/LoadAllitems',
        //type: "GET",
        success:function(data){
        $('.se-pre-con').hide();
        $('#renderer').html(data);
        },
        error:function (){}
        });
    });
    </script>

КОНТРОЛЛЕР

public function LoadAllitems()
	{

		$MenuData['searches']=$this->get_search_form_data();
		$MenuData['dailydeals']=$this->get_daily_deals_data();
		//$MenuData['monthlydeals']=$this->get_monthly_deals_data();
		//$MenuData['featuredproducts']=$this->get_featured_products_data();

		$response=$this->load->view('includes/search',$MenuData,TRUE);
		echo $response;
		$response2=$this->load->view('homepage/dailydeals',$MenuData);
		echo $response2;
		//$this->load->view('homepage/mainslider',$MenuData);
		//$this->load->view('homepage/monthlydeals',$MenuData);
		//$this->load->view('homepage/feature',$MenuData);
		//$this->load->view('homepage/subscribe',$MenuData);
		//$this->load->view('main',$MenuData);

	}

ИНДЕКС

public function index()
	{
    $this->load->view('main',$MenuData);
  }

1 Ответ

0 голосов
/ 04 июля 2018

Сначала загрузите страницу с GIF, а затем, когда страница загружена. запустите скрипт, который запрашивает ajax-вызов для запроса необходимых вам данных. Кстати, мы можем помочь намного больше, если вы предоставите свой код: view и controller.

SampleController.php

function index()
{
   $this->load->view('init_view');
}

function ajax_load_data()
{
   ...
   $response = $this->load->view('some_view',$data,TRUE);
   echo $response;
}

init_view.php

<div id="loading">SOMEGIF</div>
<div id="renderer"></div>

<script>

 $(document).ready(function(){
         $.ajax({
             method : 'get',
             url    : '<?php echo site_url("samplecontroller/ajax_load_data");?>'
             success: function(responce){
                    $('#loading').hide();
                    $('#renderer').html(responce);
                 }   
         })

   })

</script>

some_view.php

<h1><?= $title ?></h1>
<p><?= $intro ?></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...