Author Topic: AJAX Http request  (Read 10509 times)

Tiwatz

  • Newbie
  • *
  • Posts: 2
    • View Profile
    • Email
AJAX Http request
« on: 2018-08-17, 06:24:24 »
Jag håller på med en liten hemsida för att styra webswitchen med hjälp av http request. Använder koden nedan men inget händer när jag trycker på knappen. Ändrar jag adressen till tex en .txt fil som ligger på servern fungerar det utmärkt.
Ändrar jag "relaycontrol/get/1" till "relaycontrol/on/1" så sätts relä 1 på men jag får inte heller där något svar från switchen.
Någon som är bra på AJAX och har en aning om vad jag gör för fel?
 
Code: [Select]
<!DOCTYPE html>
<html>
<body>

<div id="demo">
<h2>The XMLHttpRequest Object</h2>
<button type="button" onclick="loadDoc()">Change Content</button>
</div>

<script>
function loadDoc() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "http://192.168.1.154/relaycontrol/get/1", true);
  xhttp.send();
}
</script>

</body>
</html>

Tiwatz

  • Newbie
  • *
  • Posts: 2
    • View Profile
    • Email
Re: AJAX Http request
« Reply #1 on: 2018-08-18, 10:52:51 »
Har kommit fram till att värdet på this.status är 0 och inte 200 som det bör vara. Gör dock inte mig klokare eftersom att värdet 0 inte finns som http status ?

nilrog

  • Jr. Member
  • **
  • Posts: 71
    • View Profile
Re: AJAX Http request
« Reply #2 on: 2018-10-21, 08:15:58 »
Någon som är bra på AJAX och har en aning om vad jag gör för fel?
 
Code: [Select]
  ...
  xhttp.open("GET", "http://192.168.1.154/relaycontrol/get/1", true);
  ...
Du har fel URL...för att få statusen på ett relä så ska URL:en vara den här:
Code: [Select]
  xhttp.open("GET", "http://192.168.1.154/relaystate/get/1", true);