I am currently using JavaScript to make an Ajax request to communicate with an Arduino webserver and dynamically update the content on a webpage.
While this functionality has been working smoothly in Safari, I have encountered issues when trying to use it in Firefox and Google Chrome. Despite having verified that the requests and responses are being received in the debugger consoles, it appears that there may be a problem with parsing the response into an array?
Below is the code snippet:
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);
}
The response from the Arduino webserver consists of four comma-separated values.