簡體   English   中英

無法從AJAX請求中獲取數字到javascript變量

[英]Having trouble getting a number from an AJAX request to a javascript variable

我試圖制作一個圖表,在頁面上顯示CPU百分比,並隨着CPU百分比的變化自動更新。 我在理解如何在發送AJAX請求后如何從PHP腳本中獲取信息時遇到問題。 理想情況下,我希望能夠使用變量“ $ cpuPercent”並包含在“ .update();”中。 我的更新功能的一部分。

我試過將PHP代碼包含在update函數中並回顯$ 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);
    });
  });

在所有功能如何協同工作方面,我絕對感到脫節,但我無法完全弄清楚。 任何幫助或朝着正確方向發展的觀點都將非常有用。 回到谷歌我去。

由於您的PHP腳本返回了JSON,因此success回調中的output變量將是JavaScript對象或數組。 無論哪種方式,您都不能真正在其上使用parseInt ,因此var cpuPercent可能永遠不會設置為任何有用的東西。

如果您發布了PHP腳本的一些示例輸出,我們可以告訴您如何找到所需的數字。

嘗試這個。

$.ajax({
    cache: false
})

另外,您也可以嘗試將異步選項也切換為false。

我認為這個例子可以為您提供幫助。 http://www.flotcharts.org/flot/examples/realtime/index.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM