我有一个网络服务器,其中存储了我的所有网站文件,还有两台服务器正在运行其他服务。在我的数据库中,我有一个表服务器室,服务器和传感器。因此,当我登录我的网站时,我会看到我的数据库中保存的有关这两台服务器的所有信息。我在这两台服务器上上传了一个文件"getCpuUsage.php"
。当我登录我的网站时,我从其中一个服务器加载了CPU使用率AJAX
。问题是如何在我的AJAX中加载不同的值?我需要定义加载"getCpuUsage.php"
的服务器路径,但我的计时器每次只加载一个服务器。
问题是我使用"document.getElementById"
因此他只加载1个ID而不是所有其他ID。所以我尝试了"for()"
的东西,但没有成功......
你们可以建议我使用"document.getElementByID"
一些更好的想法。
当前的JS用于获取服务器的CPU
用法。
function AccessServer() {
var Server = document.getElementById("Server").value;
var elems = document.getElementsByClassName("Sensor");
var req = new XMLHttpRequest();
req.open('POST', Server + 'getCpuUsage' + '.php');
req.addEventListener('load', function (ef) {
//document.getElementById("Sensor").innerHTML = ef.target.response;
for(var i = 0; i < elems.length; i++) {
elems[i].innerHTML = ef.target.response;
}
});
req.send();
}
答案 0 :(得分:0)
不确定这是否是你想要的但仍然......
HTML中的:
<input class="server" type="hidden" value="http://server1" />
<input class="server" type="hidden" value="http://server2" />
<input class="server" type="hidden" value="http://server3" />
JS中的
var servers = document.querySelelctorAll('.server');
for( var i=0; i < servers.length ; i++ ){
var serverName = servers[i].value;
var req = new XMLHttpRequest();
req.open('POST', serverName + 'getCpuUsage' + '.php');
req.addEventListener('load', function (ef) {
for(var i = 0; i < elems.length; i++) {
elems[i].innerHTML = ef.target.response;
}
});
req.send();
}
如果你需要在回调中使用function(){}.bind()
之类的变量,我会把回调函数放在for循环之外或使用JS serverName
,但这是一个不同的问题...