Ajax 在另一个 ajax 中请求
Ajax request inside an other ajax
所以我提出了一个 ajax 请求来获取我的 "home" 页面和 "about" 页面中的 "container" 点击菜单 link 按钮index.php,现在我的 "home" 页面中有三个 link,我还想在我的 div [=43= 中打开每个 link ] 来替换 "home" 页面,那么如何在第一次 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";
}
else{
include "pages/404.html";
}
}
else{
include "pages/home.html";
}
?>
</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;
});
});
function afficher(data){
$("#container").fadeOut(500,function(){
$("#container").empty();
$("#container").append(data);
$("#container").fadeIn(1200);
});
}
最后是我的 home.html(我只是给你看 link):
<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>
可以,您应该只使用事件委托 on() 来处理动态添加到 DOM 的新 HTML 标签通过第一个 ajax 请求:
$('body').on('click', '.vs-transform a', function(){
//Second ajax request
})
希望对您有所帮助。
所以我提出了一个 ajax 请求来获取我的 "home" 页面和 "about" 页面中的 "container" 点击菜单 link 按钮index.php,现在我的 "home" 页面中有三个 link,我还想在我的 div [=43= 中打开每个 link ] 来替换 "home" 页面,那么如何在第一次 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";
}
else{
include "pages/404.html";
}
}
else{
include "pages/home.html";
}
?>
</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;
});
});
function afficher(data){
$("#container").fadeOut(500,function(){
$("#container").empty();
$("#container").append(data);
$("#container").fadeIn(1200);
});
}
最后是我的 home.html(我只是给你看 link):
<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>
可以,您应该只使用事件委托 on() 来处理动态添加到 DOM 的新 HTML 标签通过第一个 ajax 请求:
$('body').on('click', '.vs-transform a', function(){
//Second ajax request
})
希望对您有所帮助。