2015-12-26 63 views
0

所以我做了一個ajax請求讓我的「主頁」頁面和我的「關於」頁面在我的index.php中點擊菜單鏈接按鈕「容器」,現在我有三個鏈接在我的「主頁」頁面中,我還希望打開我的div「容器」中的每個鏈接來替換「主頁」頁面,那麼如何在首次調用ajax之後創建一個ajax請求?其他ajax內的Ajax請求

這是在index.php我的PHP請求:

<div id="container"> 
 
    <?php 
 
    $d="contenu/"; 
 
    if(isset($_GET['p'])){ 
 
    $p=strtolower($_GET['p']); 
 
    if(preg_match("/^[a-z0-9\-]+$/",$p) && file_exists($d.$p.".html")){ 
 
     include $d.$p.".html"; 
 
    } 
 
\t \t else{ 
 
\t \t \t include "pages/404.html"; 
 
\t \t } 
 
\t \t } 
 
\t \t \t else{ 
 
\t \t \t include "pages/home.html"; 
 
\t \t } 
 
    ?> 
 
</div>

在我這裏的ajax:

$(document).ready(function(){ 
 
    $("#menu a").click(function(){ 
 
     page=$(this).attr("href"); 
 
     $.ajax({ 
 
      url: "pages/"+page, 
 
      cache:false, 
 
      success:function(html){ 
 
       afficher(html); 
 
      }, 
 
      error:function(XMLHttpRequest,textStatus, errorThrown){ 
 
       afficher("erreur lors du chagement de la page"); 
 
      } 
 
     }); 
 
     return false; 
 
    }); 
 
\t 
 
}); 
 

 
function afficher(data){ 
 
$("#container").fadeOut(500,function(){ 
 
    $("#container").empty(); 
 
    $("#container").append(data); 
 
    $("#container").fadeIn(1200); 
 
\t 
 
}); 
 
}

最後我home.html的(我只是告訴你的鏈接):

<div class="section vs-section" data-speed="0.4"> 
 
      <div class="vs-transform title " data-speed="0.4"><a href="projet1.html"><h3>projet1</h3></a></div> 
 
      <div class="vs-transform title" data-speed="0.38"><a href="projet2.html"><h3>Projet2</h3></a></div> 
 
      <div class="vs-transform title" data-speed="0.4"><a href="projet3.html"><h3>projet3</h3></a></div> 
 

 
    </div>

+1

我想你正在尋找點擊處理程序的事件代表團。 –

+0

我的實際ajax通過「menu a」按鈕進行調用,發出請求php,現在我想知道是否可以在第一個ajax已被解釋時獲得新的ajax「vs-transform a」按鈕 – Tiaw

回答

1

是的,你可以,你應該只使用事件代表團on()應對新的HTML標籤動態添加到DOM由第一個ajax請求:

$('body').on('click', '.vs-transform a', function(){ 
    //Second ajax request 
}) 

希望這會有所幫助。

+0

是的完美謝謝而且事實上@Felix Kling你是對的。 – Tiaw