我正在尝试使用AJAX实现PHP脚本。我的代码如下所示。基本上我有一个数组,arrNodes
,包括单位列表。数组中的每个节点都有仪表,我尝试使用PHP脚本中的值进行刷新。我运行netsnmp来恢复cpu /内存使用。
当我在短时间内运行程序后,我得到一个应运行的PHP脚本的XHR超时,而我审核的单位可用。
我不确定我在这里做错了什么,但它似乎与$.get
的时间有关,有什么想法?
var arrNodes = new Array;
window.onload = function () {
setInterval(function () {
function ajaxCpu(i, ip, os, com) {
$.get("ajax/cpu.php", {
Uip: ip,
Uos: os,
Ucom: snmpcomm
}, function (value) {
window["g1_" + i].refresh(value)
});
}
function ajaxMem(i, ip, os, com) {
$.get("ajax/mem.php", {
Uip: ip,
Uos: os,
Ucom: snmpcomm
}, function (value) {
window["g2_" + i].refresh(value)
});
}
function ajaxTmp(i, ip, os, com) {
$.get("ajax/tmp3.php", {
Uip: ip,
Uos: os,
Ucom: snmpcomm
}, function (value) {
window["g3_" + i].refresh(value)
});
}
for (var i = 0; i < arrNodes.length; i++) {
var path0 = document.getElementById("g1_" + i);
var ip = path0.getAttribute('data-ip');
var path1 = document.getElementById("g1_" + i);
var snmpcomm = path1.getAttribute('data-snmpcomunity');
var path2 = document.getElementById("g1_" + i);
var os = path2.getAttribute('data-os');
ajaxCpu(i, ip, os, snmpcomm);
ajaxMem(i, ip, os, snmpcomm);
}
}, 5000);
}
这是PHP:
$Uip = $_GET['Uip'];
$Uos = $_GET['Uos'];
$Ucom = $_GET['Ucom'];
snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
$cpu = snmpget($Uip,$Ucom,".1.3.6.1.4.1.2021.10.1.3.1", 1000);
$t = (float)($cpu);
echo $t ;