如何在每次运行脚本时更新我的javascript函数中的变量?该变量获取一个PHP字符串,然后它似乎存储它并且在页面刷新完成之前不会更新该值。
SCRIPT:
setInterval(function () {
var options = {
useEasing : true,
useGrouping : true,
separator : ',',
decimal : '.',
};
var value123 = <?php echo $amount22; ?>;
var value234 = <?php echo $unpaidbtc; ?>;
var demo = new CountUp("counter", value123, value234, 10, 1, options);
demo.start();
}, 5000);
基本上它在页面中抓取我的php的$unpaidbtc
值。这个脚本将每5秒运行一次,但不是使用php拥有的新值进行更新,而是使用它抓取的第一个值,并且永远不会更新到新的PHP字符串。
有没有让脚本更新并自动从页面中重新获取PHP脚本?
示例:启动时$unpaidbtc
= 10,5秒后$unpaidbtc
= 15,但计数器只能达到10.如何在不刷新页面和内容的情况下获取新值,谢谢!
答案 0 :(得分:1)
从评论中我认为我理解你想要的东西:
var ajax = new XMLHttpRequest();
function getValues(callback) {
ajax.abort();
ajax.open("GET", "index.php?showme=1", true);
ajax.send();
ajax.onreadystatechange = function() {
if (ajax.readyState == 4 && ajax.status == 200)
callback(JSON.parse(ajax.responseText));
};
}
setInterval(function() {
var options = {
useEasing: true,
useGrouping: true,
separator: ',',
decimal: '.',
};
getValues(function(obj) {
var value123 = obj.amount22;
var value234 = obj.unpaidbtc;
var demo = new CountUp("counter", value123, value234, 10, 1, options);
demo.start();
});
}, 5000);
只使用一个PHP页面就可以逃脱,我们假设它被称为index.php
:
<?php
//do your database calls to get $amount22 and $unpaidbtc
if (isset($_GET['showme'])) {
echo json_encode(array(
'amount22' => $amount22,
'unpaidbtc' => $unpaidbtc
));
exit;
}
//the rest of your page (with the html/javascript)
请注意,如果您的网页未被调用index.php
,则需要更改此行:
ajax.open("GET", "index.php?showme=1", true);