Mam problem z działaniem AJAXA (chociaż nie, raczej jest to brak wiedzy, bo to pierwsze zetknięcie z tym czymś :) ).
Chcę odświeżać stan przekaźnika, który zwraca dane w formacie XML. Jak wpiszę w przeglądarce "http://IP_MODUŁU/status.xml" to dostaję odpowiedź:
Na tę chwilę chciałem przetestować uaktualnianie stanu przekaźnika więc strona wygląda tak:
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
document.getElementById("div2").innerHTML = this.readyState;
document.getElementById("div3").innerHTML = this.status;
if (this.readyState == 4 && this.status == 200)
{
document.getElementById("div1").innerHTML = xhttp.responseText;
}
}
xhttp.open("GET", "http://192.168.0.181/status.xml", true);
//xhttp.open("GET", "status.xml", true);
xhttp.send();
alert("dziala");
}
</script>
</head>
<body>
<div id="div1"><h2>TEST</h2></div>
<div id="div2">readyState</div>
<div id="div3">status</div>
<button type="button" onclick="loadXMLDoc()">TEST</button>
</body>
</html>
Niestety nie mogę odebrać "stanu przekaźnika" bo po naciśnięciu przycisku "TEST" readyState zmienia się 4 a status na 0.
Do testów skopiowałem źródło strony odpowiedzi przekaźnika i zapisałem w tym samym folderze co plik strony (nazwałem go status.xml). Zakomentowałem linijkę 17 i oddkomentowałem linijkę 18 z powyższego kodu i w takiej wersji działa - wyświetla na stronie zawartość pliku status XML:
Gdzie może być problem, że status = 0 i nie mogę odczytać danych bezpośrednio z przekaźnika?
Za pomoc i wskazówki w czym może być problem z góry dziękuję :)