jQuery - результат публикации Ajax в html-отображении в неверной позиции - PullRequest
1 голос
/ 04 мая 2010

У меня есть сайт с темами, опубликованными пользователями, за которых проголосовали (вверх или вниз), и рядом с каждой темой отображается число голосов.

Процесс голосования вверх и вниз осуществляется через jQuery / Ajax и использует что-то вроде этого:

$.ajax({
  url: 'vote.php',
  success: function(data) {
    $('.result').html(data);

  }
});

обновляется HTML-код подсчета голосов (.result является классом div, который содержит номер подсчета голосов)

Кроме того, потоки сортируются сначала по убыванию количества голосов, а затем в алфавитном порядке.

У меня проблема с ajax, обновляющим счетчик голосов HTML в режиме реального времени, у меня есть догадка, что проблема связана с тем, что порядок потоков меняется при обновлении счетчика голосов, но Я не уверен.

Я знаю, что база данных обновляется, и когда я обновляю страницу, она также корректно обновляется, но я не вижу поведения в реальном времени, которое я ожидаю от jQuery / Ajax.

В чем может быть проблема?

Ответы [ 2 ]

2 голосов
/ 04 мая 2010

$('.result') будет ссылаться на все элементы с классом "result" во всем документе. Вы выборочно назначаете этот класс для элемента, который будет обновлен? В этом случае вам нужно показать нам код для этого.

В противном случае вы, вероятно, захотите посмотреть на доступ к соответствующему контейнеру с помощью идентификатора, на который не влияет изменение порядка элементов

$('#item-' + id).find('.result').html(data);
0 голосов
/ 04 мая 2010

Попробуйте

$.ajax({
  url: 'vote.php',
  success: function(data) {
    $('.result').text(data);

  }
});

Если сервер просто отправляет номер, вы, вероятно, должны просто установить текст.

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