以下是在我的网站上显示的总赛车手,但不会更新。我需要引用页面来从数据库中获取新数字,那么使用jquery / javascript更新它的简单方法是什么,而不刷新页面?非常感谢您花时间检查我的问题并可能回答。
<div id="stats">
<div id="racers">
<span><?=number_format($racers, 0, ' ', ' ')?></span>
RACERS
</div>
</div>
答案 0 :(得分:0)
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 :(得分: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的函数中,对您的操作进行ajax调用。最后,显示从服务器返回的值:
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,但希望此说明可以帮助您找到正确的道路。