Обновление общего количества на сайте с помощью jQuery / Javascript?

Это ниже показывает Всего гонщиков на моем сайте, но не обновляется в прямом эфире. Мне нужно обновить страницу, чтобы получить новый номер из базы данных, так каков простой способ обновить его с помощью jquery / javascript без обновления страницы? Большое спасибо, что нашли время, чтобы проверить мой вопрос и, возможно, ответ.

<div id="stats">
<div id="racers">
<span><?=number_format($racers, 0, ' ', ' ')?></span>
RACERS
</div>
</div>

0

Решение

Jquery Ajax:

$.post('page.php', {
postVariable : value
}, function(data) {
//do something with data retrieved from php script
});

Вы устанавливаете «page.php» для скрипта, который получает нужные вам данные и отображает их.
Затем вы получаете то, что было отражено в функции обратного вызова (данные);
Таким образом, data будет переменной, содержащей нужное вам значение. Вы положили этот сценарий в
Функция javascript и вызов ее, когда вам нужно сделать запрос информации на серверной части.
Если у вас есть вопросы, дайте мне знать. Если вам нужна дополнительная информация о запросе ajax, вы также можете найти ее здесь: api.jquery.com/jquery.post/

0

Другие решения

Что вам нужно сделать, это следующее:

1. Имейте действие в контроллере, который выводит общее количество гонщиков

Например:

class Data extends CI_Controller {
public function GetTotalRacers() {
// This is dummy data. You need to replace this code with the correct
// number of racers retrieved from the database
echo 14;
}
}

Обратите внимание, где это действие. Я предполагаю, что codeigniter сделает путь что-то вроде /Data/GetTotalRacers в этом случае (это зависит от того, как настроены правила вашего маршрута).

2. Используйте JavaScript, чтобы запросить у сервера данные и отобразить результат на странице

Я рекомендую вам использовать метод, который запускается каждые X секунд, чтобы обновить общее количество гонщиков. Чтобы достичь этого, вы можете использовать setInterval. В функции setInterval есть Аякса призыв к вашему действию. Наконец, отобразите значение, которое возвращается с сервера:

setInterval(function() {
$.ajax({
// Replace the url value with the correct url to access your action
url: '/Data/GetTotalRacers',
cache: false
})
.done(function( totalRacers ) {
$("#racers span").text(totalRacers);
});
}, 60000); // ex. Update every 60000ms

Примечание: я никогда не использовал codeigniter, но, надеюсь, это описание поможет вам выбрать правильный путь.

0

По вопросам рекламы [email protected]