2012-05-24 1 views
0

Я использую это, чтобы показать загрузочное изображение, прежде чем загружать 3 страницы. Код работает и показывает загрузочное изображение перед тем, как перейти на эти страницы из любого места, кроме этих трех страниц. Проблема в том, когда я перехожу на эти страницы и формирую там, я нажимаю на одну из ссылок на 3 страницы, она ничего не делает. Просто добавляет # в конец URL-адреса.Нет навигации после использования Ajax

 $.ajaxSetup({ 
      cache: false 
        }); 

        //Loading Image. 
        var ajax_load = "<img src='http://d2o0t5hpnwv4c1.cloudfront.net/412_ajaxCalls/DEMO/img/load.gif' alt='loading...' style='top:48%; left:48%; position:relative;'/>"; 

        //PHP file URL. 
        var loadUrl = "/cakephp/Posts/index"; 
        var loadUrl2 = "/cakephp/Posts/fetchHome"; 
        var loadUrl3 = "/cakephp/accounts/getFollowers"; 

        //$.get() 
        $("#dash").click(function(){ 
         $(".container-fluid2").html(ajax_load); 
         $.get( 
         loadUrl, 
         {language: "php", version: 5}, 
         function(responseText){ 
          $(".container-fluid2").html(responseText); 
          history.replaceState(null, "Dashboard", "posts"); 
         }, 
         "html" 
        ); 
        }); 
        $("#home").click(function(){ 
         $(".container-fluid2").html(ajax_load); 
         $.get( 
         loadUrl2, 
         {language: "php", version: 5}, 
         function(responseText){ 
          $(".container-fluid2").html(responseText); 
          history.replaceState(null, "Timeline", "posts/fetchHome"); 
         }, 
         "html" 
        ); 
        }); 
        $("#followers").click(function(){ 
         $(".container-fluid2").html(ajax_load); 
         $.get( 
         loadUrl3, 
         {language: "php", version: 5}, 
         function(responseText){ 
          $(".container-fluid2").html(responseText); 
          history.replaceState(null, "View followers", "accounts/getFollowers"); 
         }, 
         "html" 
        ); 
        }); 
+0

Знаете ли вы, что код хорошо? –

+0

Да, я это написал. – Aboelseoud

ответ

0

Решенный! Так и должно быть снова и снова загружать функции javascript:

$(document).on("click", "#dash", function(){ 
          $(".container-fluid2").html(ajax_load); 
          $.get( 
          loadUrl, 
          {language: "php", version: 5}, 
          function(responseText){ 
           $(".container-fluid2").html(responseText); 
           $("#CancelReply").hide(); 
           history.replaceState(null, "Dashboard", "/cakephp/posts"); 
           $(document).attr('title','Dashboard'); 
          }, 
          "html" 
         ); 
         }); 
1

Я проверил ваш код, и все это сработало после того, как я добавил.

$(document).ready(function(){ 
    //your code here 
} 

Обработчик document.ready ожидает до загрузки страницы перед запуском. Это важно, потому что ранее вы, возможно, пытались добавить обработчик события к объекту, который еще не существует.

Надеюсь, это поможет.

Если не вернетесь ко мне, и у меня будет другой взгляд.

+0

Все еще не работает. – Aboelseoud

+0

Откройте консоль разработчика или firebug и вставьте любые сообщения об ошибках – CoryJThompson

+0

Я решил это. Спасибо! – Aboelseoud

Смежные вопросы