Hallo Ich habe fogenden Code mit PlatformIO void handleRequest(AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total) { // Handle the incoming data if (request->method() == HTTP_POST) { Serial.printf("Got Ajax 1 %d - %d - %d Content Type = %s", len, index, total, request->contentType().c_str()); if (request->contentType() == "application/json") { // Handle JSON data StaticJsonDocument<200> doc; DeserializationError error = deserializeJson(doc, data, len); if (error) { // Handle deserialization error return; } // Access the JSON data int key1 = doc["key1"]; int key2 = doc["key2"]; // Process the data as needed Serial.printf("Got Ajax Json %d - %d - %d \n", key1, key2, total); } if (request->contentType() == "text/plain") { // Handle JSON data StaticJsonDocument<200> doc; DeserializationError error = deserializeJson(doc, data, len); Serial.print("Get Json"); if (error) { Serial.print("Json Error"); return; } // Access the JSON data int key1 = doc["key1"]; int key2 = doc["key2"]; // Process the data as needed Serial.printf("Got Ajax 2 %d - %d - %d \n", key1, key2, total); Serial.println( " <-----"); Mein Java Script ist folgender function toggleCheckbox(element, Value) { var myElement = document.getElementById(Value); var xhr = new XMLHttpRequest(); xhr.open("POST", "/your-endpoint", true); if(element.checked){ myElement.innerHTML = "On"; var value2 = true; } else { myElement.innerHTML = "Off"; var value2 = false; } var value1 = element.id; var data = JSON.stringify({ key1: value1, key2: value2 }); xhr.send(data); } Ich habe im Code von mir aus den Code in main.cpp eingefügt if (request->contentType() == "text/plain") weil der request erkennt nicht das es sich um ein JSon Objekt handelt. Sorry das ich den Code nicht formatiere, ich weiß nicht mehr wie das ging. Danke für das Forum aber es wäre hilfreich es ein wenig moderner zu gestalten. Ich bin schon älter und vergesse.
Martin M. schrieb: > Sorry das ich den Code nicht formatiere, ich weiß nicht mehr wie das > ging. Das steht doch direkt über dem Text-Eingabefeld! Da du im Javascript keinen konkreten Document Type an den Server (ESP) sendest, solltest du dort beim Empfang auch keinen bestimmten Document Type erwarten.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.