JQUERY AJAX загрузка контента с циклом PHP - PullRequest
0 голосов
/ 01 января 2011

У меня есть цикл PHP, который перебирает кучу идентификаторов пользователей.

<?php while ($row = mysql_fetch_assoc($result)) : ?>
<?php $id = $row['id']; 

 <td width="90px" class="resultsDisplay"><a href=userdetail.php?id=<?php echo $id ?>> <?php echo $row['Username']; ?></a></td>

Я хотел бы заменить там ссылку HTML на вызов AJAX, чтобы загрузить эту страницу в определенном DIV.Проблема, с которой я столкнулся с приведенным ниже кодом, состоит в том, что после нажатия на ссылку, если она продолжает передавать остальные идентификаторы пользователя для цикла.Итак, я нажимаю на ссылку, и она начинает циклически перебирать все идентификаторы пользователей в базе данных, загружая около 70 страниц подряд.

jQuery(document).ready(function(){
$(".resultsDisplay").click(function() {
  $.ajax({
   url: "userdetail.php?id=<?php echo $id ?>",
   success: function(msg){
     $("#results").html(msg);
   }
 });
});

Ответы [ 2 ]

3 голосов
/ 01 января 2011

Я действительно не получил ваш вопрос, но я полагаю, вы выводите более одного идентификатора? так у вас есть более одного TD..etc?
То, как вы должны это делать (что бы вы ни делали), выглядит следующим образом:

jQuery(document).ready(function(){
$(".resultsDisplay a").click(function() {
  $.ajax({
   url: $(this).attr("href"),
   success: function(msg){
     $("#results").html(msg);
   }
 });
 return false;
});

Также вам не хватает кавычек для вашего атрибута href.

0 голосов
/ 01 января 2011

Вы, кажется, смешиваете начальную загрузку страницы с запросом ajax.Как вы генерируете свою функцию document.ready?

Что кажется совершенно неправильным, так это использование php в функции document.ready;для того, чтобы ajax-вызов работал, идентификатор, который вы отправляете на userdetail.php, должен быть получен из конкретной ссылки / div, по которой щелкнули, а не статический идентификатор, который был создан при загрузке страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...