通过JS Timer使用AJAX发布不同的值

时间:2017-01-23 07:59:19

标签: javascript php ajax

我有一个网络服务器,其中存储了我的所有网站文件,还有两台服务器正在运行其他服务。在我的数据库中,我有一个表服务器室,服务器和传感器。因此,当我登录我的网站时,我会看到我的数据库中保存的有关这两台服务器的所有信息。我在这两台服务器上上传了一个文件"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();
}

1 个答案:

答案 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,但这是一个不同的问题...