gpt4 book ai didi

javascript - 使用ajax和perl更新html

转载 作者:行者123 更新时间:2023-11-28 07:58:15 24 4
gpt4 key购买 nike

我正在尝试使用 ajax 和 perl 更新网页上的 div。这就是我目前所拥有的,并且它确实有效。

html

<h2 id="cpu">--</h2>

js/ajax调用

   $.ajax({
type: 'GET',
url: '/cgi-bin/cpu.pl',
async: true,
success: function(data) {
$('#cpu').html(data);
}
});

perl

#!/usr/bin/perl

# Ref: Calculating CPU Usage from /proc/stat
# (http://colby.id.au/node/39)

use strict;
use warnings 'all';
use utf8;

use List::Util qw(sum);

$| = 1;

my ( $prev_idle, $prev_total ) = qw(0 0);
while () {
open( STAT, '/proc/stat' ) or die "WTF: $!";
while (<STAT>) {
next unless m{^cpu\s+[0-9]+};
my @cpu = split ' ', $_;
shift @cpu;

my $idle = $cpu[3];
my $total = sum(@cpu);

my $diff_idle = $idle - $prev_idle;
my $diff_total = $total - $prev_total;
my $diff_usage = 100 * ( $diff_total - $diff_idle ) / $diff_total;

$prev_idle = $idle;
$prev_total = $total;

print "Content-type: text/html \n\n";
printf "%0.2f%% \r", $diff_usage;
}
close STAT;
}

这部分起作用是因为它确实用百分比更新了 h2,但只更新了一次。我确实在循环内的 sleep 1; 位置有它,并且从命令行执行它效果很好,但是当我将它与 ajax 一起使用并且我查看网络时,对于 cpu.pl 它总是表示状态待定,并且从未改变。

我不确定我是否以正确的方式处理这个问题。所以任何帮助都会很棒,谢谢。

最佳答案

看来我对 ajax 的思考方式是错误的。谢谢charlietfl以便澄清。我还没有决定要如何去做这件事。我最初是在寻找一个快速而肮脏的解决方案,但我将研究 jm666 & Ian Wise的建议。

关于javascript - 使用ajax和perl更新html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com