pjax до сих пор полной перезагрузки страницы

Я пробовал примеры pjax в chrome и firefox, я взял пример кода и поместил его в свое приложение, но он по-прежнему выполняет полную перезагрузку страницы. Запрос AJAX происходит, затем страница перемещается без обновления #main div

<html>
    <head>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js"></script>
        <script src="http://localhost:8888/jul/js/jquery.pjax.js"></script>


         <script type="text/javascript">
            // $(document).ready(function(){
            //   $('a[data-pjax]').pjax();
            // })

        // $(document).ready(function(){
        //     $('a').pjax({

        //    container: '#main'
        //  })
        $('document').ready(function(){
           $('ul a').pjax('#main')
        });


         </script>
    </head>
    <body>
        11:59:36        <div id="main">
             <div class='loader' style='display:none'><img src='http://localhost:8888/jul/imgs/spinner.gif'></div><ul>

  <li><a data-pjax='#main' href="/jul/stats/pjax_stats/index/">Index</a></li>
  <li><a data-pjax='#main' href="/jul/stats/pjax_stats/total_posts/">total_posts</a></li>

  <li><a data-pjax='#main' href="http://localhost:8888/jul/stats/pjax_stats/index">Index</a></li>
  <li><a data-pjax='#main' href="http://localhost:8888/jul/stats/pjax_stats/total_posts">total_posts</a></li>
  <li><a href="http://localhost:8888/jul/stats/pjax_stats/total_graph">total_graph</a></li>
  <li><a href="http://localhost:8888/jul/stats/pjax_stats/twitter_graph">twitter_graph</a></li>
  <li><a href="http://localhost:8888/jul/stats/pjax_stats/facebook_graph">facebook_graph</a></li>
</ul>index files




        </div>

    </body>
</html>

Я пробовал несколько методов для вызова pjax, и, возможно, кто-то еще может указать, где я ошибаюсь? Ajax/GET, похоже, отлично возвращается в консоли firebug - это пример моего php, который производит pjax ответ

public function total_posts(){
        // print_r($_SERVER);

        if (!isset($_SERVER["X_PJAX"])) {
            $this->load->view('stats/pjax_stats/header');
            $this->load->view('stats/pjax_stats/links');
        }else{
            echo "pjax";//add in for debug
        }

        echo "total posts";

        if (!isset($_SERVER['X-PJAX'])) {
            $this->load->view('stats/pjax_stats/footer');
        }



    }

ошибка?

Кажется, что в последней версии есть ошибка, когда переменная добавления в конец url-адреса, где запрос ajax сделан в _pjax=container вместо _pjax=true

2 ответов


вы пытались установить тайм-аут выше (по умолчанию

например:

$('document').ready(function(){
  $('ul a').pjax({
    container: '#main',
    timeout: 5000 #ms
  });
});

Я думал, что добавлю ответ, так как я получил эту проблему сегодня, и это был первый результат Google.

перед изменением тайм-аута убедитесь, что ваш контейнер существует. Это может показаться очевидным, но если вы используете фреймворк, скажем Yii2 (PHP), вы обнаружите, что Ваш идентификатор контейнера может больше не существовать между обновлениями, поэтому pjax обновляет всю страницу.

Итак, как Примечание: убедитесь, что ваш контейнер существует, прежде чем настраивать тайм-ауты.