Skip to content

Commit 730289a

Browse files
Merge pull request #42 from ESP32Async/examples
doc(examples) Improve Params example
2 parents 8aa133e + 45d844c commit 730289a

File tree

1 file changed

+62
-14
lines changed

1 file changed

+62
-14
lines changed

examples/Params/Params.ino

Lines changed: 62 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,56 @@
2121

2222
static AsyncWebServer server(80);
2323

24+
static const char *htmlContent PROGMEM = R"(
25+
<!DOCTYPE html>
26+
<html>
27+
<head>
28+
<title>POST Request with Multiple Parameters</title>
29+
</head>
30+
<body>
31+
<form action="http://192.168.4.1" method="POST">
32+
<label for="who">Who?</label>
33+
<input type="text" id="who" name="who" value="Carl"><br>
34+
<label for="g0">g0:</label>
35+
<input type="text" id="g0" name="g0" value="1"><br>
36+
<label for="a0">a0:</label>
37+
<input type="text" id="a0" name="a0" value="2"><br>
38+
<label for="n0">n0:</label>
39+
<input type="text" id="n0" name="n0" value="3"><br>
40+
<label for="t10">t10:</label>
41+
<input type="text" id="t10" name="t10" value="3"><br>
42+
<label for="t20">t20:</label>
43+
<input type="text" id="t20" name="t20" value="4"><br>
44+
<label for="t30">t30:</label>
45+
<input type="text" id="t30" name="t30" value="5"><br>
46+
<label for="t40">t40:</label>
47+
<input type="text" id="t40" name="t40" value="6"><br>
48+
<label for="t50">t50:</label>
49+
<input type="text" id="t50" name="t50" value="7"><br>
50+
<label for="g1">g1:</label>
51+
<input type="text" id="g1" name="g1" value="2"><br>
52+
<label for="a1">a1:</label>
53+
<input type="text" id="a1" name="a1" value="2"><br>
54+
<label for="n1">n1:</label>
55+
<input type="text" id="n1" name="n1" value="3"><br>
56+
<label for="t11">t11:</label>
57+
<input type="text" id="t11" name="t11" value="13"><br>
58+
<label for="t21">t21:</label>
59+
<input type="text" id="t21" name="t21" value="14"><br>
60+
<label for="t31">t31:</label>
61+
<input type="text" id="t31" name="t31" value="15"><br>
62+
<label for="t41">t41:</label>
63+
<input type="text" id="t41" name="t41" value="16"><br>
64+
<label for="t51">t51:</label>
65+
<input type="text" id="t51" name="t51" value="17"><br>
66+
<input type="submit" value="Submit">
67+
</form>
68+
</body>
69+
</html>
70+
)";
71+
72+
static const size_t htmlContentLength = strlen_P(htmlContent);
73+
2474
void setup() {
2575
Serial.begin(115200);
2676

@@ -31,21 +81,19 @@ void setup() {
3181

3282
// Get query parameters
3383
//
34-
// curl -v http://192.168.4.1/?message=bob
84+
// curl -v http://192.168.4.1/?who=Bob
3585
//
3686
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
37-
String message;
38-
if (request->hasParam("message")) {
39-
message = request->getParam("message")->value();
40-
} else {
41-
message = "No message sent";
87+
if (request->hasParam("who")) {
88+
Serial.printf("Who? %s\n", request->getParam("who")->value().c_str());
4289
}
43-
request->send(200, "text/plain", "Hello, GET: " + message);
90+
91+
request->send(200, "text/html", (uint8_t *)htmlContent, htmlContentLength);
4492
});
4593

4694
// Get form body parameters
4795
//
48-
// curl -v -H "Content-Type: application/x-www-form-urlencoded" -d "message=carl" -d "param=value" http://192.168.4.1/
96+
// curl -v -H "Content-Type: application/x-www-form-urlencoded" -d "who=Carl" -d "param=value" http://192.168.4.1/
4997
//
5098
server.on("/", HTTP_POST, [](AsyncWebServerRequest *request) {
5199
// display params
@@ -55,14 +103,14 @@ void setup() {
55103
Serial.printf("PARAM[%u]: %s = %s\n", i, p->name().c_str(), p->value().c_str());
56104
}
57105

58-
// get message param
59-
String message;
60-
if (request->hasParam("message", true)) {
61-
message = request->getParam("message", true)->value();
106+
// get who param
107+
String who;
108+
if (request->hasParam("who", true)) {
109+
who = request->getParam("who", true)->value();
62110
} else {
63-
message = "No message sent";
111+
who = "No message sent";
64112
}
65-
request->send(200, "text/plain", "Hello, POST: " + message);
113+
request->send(200, "text/plain", "Hello " + who + "!");
66114
});
67115

68116
server.begin();

0 commit comments

Comments
 (0)