Hallo,
ich arbeite mit WebServer.h und habe folgende Callback Funktionen
1 |
|
2 |
|
Die erste ruft mir meine Seite mit den Buttons auf, die zweite soll auf GET Anfragen der Buttons reagieren
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
Die Buttons werden so im HTML dargestellt, was der Server an den PC sendet <button class="button-green" onclick="sendRequest(1)"> Batteriebetrieb OFF</button>
Im Head des HTML steht
<script> function sendRequest(value) { var url = "http:xxxxx/button?nummer=" + encodeURIComponent(value); var xhttp = new XMLHttpRequest(); xhttp.open("GET", url, true); xhttp.onreadystatechange = function() { if (xhttp.readyState === 4 && xhttp.status === 200) { location.reload(); } }; xhttp.send(); } </script>Wobei diese Funktion geklaut ist, ich verstehe nichts von Javascript bzw nur wenig. Ist auch nicht Ziel meines Projektes da tiefer einzutauchen. Sie soll den GET Req auslösen und warten bis die ein 200,OK erhält. Dann die Seite neu laden.
Jedenfalls lösen die Buttons keine Reaktion aus ud Debuggen ist nicht möglich, jedenfalls nicht mehr als eine LED blinken lassen, nur funktioniert oder funktioniert nicht.
server.on("/button",HTTP_GETButtonPress);
ändert nichts. Es soll einfach nur ein GET request an den ESP32 gesendet werden, der dann abgearbeitet und mit OK beantwortet wird. Ersetze ich die onclick Methode durch einen href Link klappt es, nur dann wird die Seite mit den Buttons verlassen und OK erscheint und das ist nicht Sinn der Sache.
Wo könnte das Problem liegen?