ESP32“ESPAsyncWebServer”PUT Json

问题描述 投票:0回答:0

ESP32“ESPAsyncWebServer”PUT Json 有问题。代码中有错误。如何解决?

JavaScript 工作:

async function test() {
  var val = JSON.stringify({on: ledState});
  xmlHttp.open("GET", "/test?json="+val, true);
  xmlHttp.send();
}

JavaScript 不工作:

async function led() {
  var val = JSON.stringify({on: ledState});
  try {
    const response = await fetch("/led", {
      method: "PUT",
      body: val,
      headers: {"Content-Type": "text/plain"}
    });
  } catch (error) {console.log("Request Failed: " + error);}
}

Web 服务器工作:

server.on("/test", HTTP_GET, [](AsyncWebServerRequest *request){
  if (startuart) Serial.println("led");
  if (request->hasParam("json")) {
    String val = request->getParam("json")->value();
    if (startuart) Serial.println(val);
    request->send(200, "text/plain", "OK");
  } else {
    if (startuart) Serial.println("No Json!");
    request->send(200, "text/plain", "No Json!\n");
  }
});

Web 服务器不工作:

server.on("/led", HTTP_PUT, [](AsyncWebServerRequest *request){
  if (startuart) Serial.println("led");
  if (request->hasParam("body")) {
    String val = request->getParam("body")->value().c_str();  // value().c_str();
    if (startuart) Serial.println(val);
    request->send(200, "text/plain", "OK");
  } else {
    if (startuart) Serial.println("No Json!");
    request->send(200, "text/plain", "No Json!\n");
  }
});

*server.on("/led", HTTP_PUT, [](AsyncWebServerRequest request)

有效,但答案“No Json!”显示。

json webserver esp32 put
© www.soinside.com 2019 - 2024. All rights reserved.