我的AJAX功能有问题。
我正在使用面向对象的PHP动态生成我的文章,如果SESSION = admin,您可以修改该文章。
我的PHP代码在没有它的情况下正常工作,但每次我打开AJAX时,修改链接在事件加载之前工作,然后就死了。
我知道AJAX没有重新加载DOM,所以我认为这可能是问题所在。 由于我是AJAX的新手,我还没有能够让它工作。
PHP代码:
<div id="articles">
<?php
$article = new Article('','','','','');
// Liste des produits
$articles = Article::listeArticle(); //Apel de la fonction qui liste les marques dans un select
$compteur=0;
// Generation des articles
foreach ($articles as $article)
{
$compteur++;
echo "<div class='accordion'>";
echo "<div class='accordion-section'>";
echo '<a class="accordion-section-title" href="#accordion-'.$compteur.'">';
$article->getTitre();
echo " ";
$article->getDate();
echo "</a>";
echo '<div class="accordion-section-content" id="accordion-'.$compteur.'">';
echo "<p>";
$article->getContenu();
echo "</p>";
echo "<h3>Auteur : ";
$article->getIdAuteur();
echo "</h3>";
// On verifie si l'utilisateur est authentifié si c'est le cas on donne la possibilité de modifier un article
if((isset($_SESSION["authentifie"]))&& $roleUtilisateurEncours == 1 )
{
echo '<a href="gestionArticle.php?action=modifier&idArticle=' .$article->getIdArticle().'"/>'. 'Modifier article</a>';
}
echo "</div>";
echo "</div>";
echo "</div>";
}
?>
</div>
我的AJAX功能:
$(document).ready(function(){
setInterval(function(){
$("#articles").load('index.php #articles')
}, 5000);
});
答案 0 :(得分:0)
来自jQuery手册:http://api.jquery.com/load/
与$ .get()不同,.load()方法允许我们指定一部分 要插入的远程文档。这是通过特殊的方式实现的 url参数的语法。如果有一个或多个空格字符 包含在字符串中,第一个字符串后面的字符串部分 假设space是一个确定内容的jQuery选择器 要加载。
$( "#result" ).load( "ajax/test.html #container" );
执行此方法时,它会检索ajax / test.html的内容, 但随后jQuery解析返回的文档以查找元素 容器的ID。插入此元素及其内容 到具有结果ID的元素,以及检索到的其余部分 文件被丢弃。
在您的jQuery示例中,您使用(#articles)指定并标识了远程文档(index.php)中找不到的内容。
您需要证明此部分与远程文档中的ID匹配,或者只是加载所有内容。