使用jQuery/Javascript更新网站上的总数?

使用jQuery/Javascript更新网站上的总数?,javascript,php,jquery,codeigniter,live,Javascript,Php,Jquery,Codeigniter,Live,下面这是我的网站上显示的总赛车手,但它不是实时更新。我需要引用页面以从数据库中获取新的数字,那么使用jquery/javascript实时更新页面而不刷新页面的简单方法是什么呢?非常感谢您抽出时间来检查我的问题,可能还有答案 <div id="stats"> <div id="racers"> <span><?=number_format($racers, 0, ' ', ' ')?></span>

下面这是我的网站上显示的总赛车手,但它不是实时更新。我需要引用页面以从数据库中获取新的数字,那么使用jquery/javascript实时更新页面而不刷新页面的简单方法是什么呢?非常感谢您抽出时间来检查我的问题,可能还有答案

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

赛车手
Jquery Ajax:

$.post('page.php', {
       postVariable : value
}, function(data) {
          //do something with data retrieved from php script
});
您将“page.php”设置为一个脚本,该脚本获取您想要的数据并对其进行响应。 然后检索回调函数中回显的内容(数据); 因此,数据将是包含所需值的变量。你把这个脚本放在一个 javascript函数,并在需要请求后端信息时调用它。
如果你有问题,请告诉我。如果您需要有关ajax请求的更多信息,也可以在此处找到:api.jquery.com/jquery.post/

您需要执行以下操作:

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(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,但希望此描述能帮助您走上正确的道路。

使用。我不太擅长jquery/javascript。能不能给我指出它应该是怎样的代码,这样我就不会搞砸了。将不胜感激!提前感谢。我建议使用javascript setInterval函数,并在该调用中使用一个函数来更新DOM中的计数。简单。我正在用codeigniter建立我的网站。所以,当这个页面不在我的登录成员页面中时,我真的不知道如何才能做到这一点。这是一个非日志索引页,它只是从数据库中获取数据并显示出来。是否有其他基于
$racers
值的方法,比如用新值更新
。抱歉,这就是我讨厌使用框架的原因。我喜欢从头开始编写我所有的php,所以我有完全的自由。似乎你还需要一个页面来获取信息,不是吗?如果您有一个显示这些数据的php页面,那么您所需要做的就是向该页面发出ajax请求。当然,它允许您对后端信息发出ajax请求。但是,如果不知道结构,就不可能找到解决方案。您可以在Codeigniter中实现这一点。在控制器中执行一个新操作,
echo
s输出当前值。对ajax请求使用该操作。有用于成员页面的控制器,但不用于未登录页面(如主页/索引页面)。我相信每秒钟请求一次页面会比正常情况下过载,因此基本上没有一种方法可以做到这一点,比如更新特定的
类,并请求带有“$racers”值的新信息?我应该在主页上做所有这些,但不应该在任何控制器上,因为它只用于登录页面。很好,但我想问一下,这是否真的会让网站过载,或者不应该主要是什么?谢谢@莫本,没事的。发送的数据量如此之小。试想一下,所有的数据都是通过一个页面加载的,以及与此相比的情况。