我正在尝试创建一个显示页面上CPU百分比的图表,并在更改时自动更新CPU百分比。在发送AJAX请求后,我遇到了解如何从PHP脚本中获取信息的问题。理想情况下,我希望能够使用变量'$ cpuPercent'并在'.update();中使用我的更新功能的一部分。
我尝试在更新函数中使用php代码并回显$ cpuPercent,但它不会每次更新,因为它只会运行一次,并且每次更新时都会使用相同的数字。
这是我的system_actions.php脚本中的php。
exec('wmic cpu get loadpercentage', $output2);
$cpuPercent = $output2[1];
echo json_encode($cpuPercent);
这是我的javascript
function getUsage(){
$.ajax({
url:'system_actions.php?action=cpu',
async: true,
dataType: 'json',
type: 'post',
success:function(output){
var cpuPercent = parseInt(output);
document.getElementById('cpu').value = cpuPercent;
updateChart();
}
})
}
setInterval(getUsage, 2500);
function updateChart(){
var link = document.getElementById('randombutton');
link.click();
}
$('.updatePieCharts').on('click', function(e) {
e.preventDefault();
charts.each(function() {
var number = parseInt(document.getElementById('cpu').value);
$(this).data('easyPieChart').update(number);
});
});
我绝对觉得它们如何一起工作有所脱节,但我无法弄明白。任何帮助或正确方向上的一点都会很棒。回到谷歌我去。
答案 0 :(得分:0)
由于PHP脚本返回JSON,output
回调中的success
变量将是JavaScript对象或数组。无论哪种方式,您都无法真正使用parseInt
,因此var cpuPercent
可能永远不会被设置为有用的任何内容。
如果您发布PHP脚本的一些示例输出,我们可以告诉您如何找到您要查找的数字。
答案 1 :(得分:0)
试试这个。
$.ajax({
cache: false
})
此外,您也可以尝试将异步选项切换为false。
我认为这个flot示例可能对您有所帮助。 http://www.flotcharts.org/flot/examples/realtime/index.html