我正在使用一些 JavaScript 向 Arduino 网络服务器发送 Ajax 请求并更改网页上的HTML。
在 Safari 中这一直很好,但是当我尝试在 Firefox 和 Google Chrome 中加载它时,文档元素永远不会更新。在调试器控制台中,我可以看到返回的请求和响应,所以我猜测解析对数组的响应存在问题?
这是代码:
function GetSwitchState()
{
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function()
{
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseText != null) {
var response = this.responseText;
var comma = ",";
var inputArray = response.split(comma);
var green = inputArray[0];
var red = inputArray[1];
var fault = inputArray[2];
var counter = inputArray[3];
document.getElementById('green').innerHTML = green;
document.getElementById("red").innerHTML = red;
document.getElementById("status").innerHTML = fault;
document.getElementById("cars").innerHTML = counter;
}
}
}
}
request.open("GET", "url" + nocache, true);
request.send(null);
setTimeout('GetSwitchState()', 1000);
}
来自 Arduino 网络服务器的响应是四个逗号分隔的值。