JavaScript を使用して Ajax リクエストを Arduino Web サーバーに送信し、Web ページの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 Web サーバーからの応答は、カンマで区切られた 4 つの値です。