下面是我的Javascript脚本,它应该通过所选节点的数组(来自复选框树)并逐个查找并获取snmpget或snmpwalk(php脚本)的信息并更新客户端中的仪表。
首先,我在循环中的每次迭代中尝试运行三个diff snmp php脚本(snmpget * 3)脚本..现在我通过在每次迭代中执行它来提高效率我运行一个在snmpwalk上继续的php脚本 - 但是结果是一样的。
arrNodes =树中选定节点的数组 g1_0,g2_0,g3_0是树中每个选定节点的凿痕(0是索引)
window.onload = function()
{
setInterval(function() {
function ajaxwalk(i,ip,os,snmpcomm) {
$.get("ajax/PrefWalk.php",{Uip:ip,Uos:os,Ucom:snmpcomm}, function(value) {
var data = value.split(",");
//console.log(data);
window["g1_"+i].refresh(data[1]);
window["g2_"+i].refresh(data[0]);
window["g3_"+i].refresh(data[2]);
});
}
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)
ajaxwalk(i,ip,os,snmpcomm)
//var data = value.split(",");
//console.log(data);
//window["g1_"+i].refresh(data[1]);
//window["g2_"+i].refresh(data[0]);
//window["g3_"+i].refresh(data[2]);
//});
}
}, 5000);
}
);
</script>
无论如何,只要arrNodes持有一个项目,上面的代码就好了,当arrNodes持有多个时候我有时间...实际上甚至没有在apache access.log中看到get req(除了那个之外)更新 ) 。 你们能在这帮吗?我究竟做错了什么 ? 问候!!!