21
21
22
22
static AsyncWebServer server (80 );
23
23
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
+
24
74
void setup () {
25
75
Serial.begin (115200 );
26
76
@@ -31,21 +81,19 @@ void setup() {
31
81
32
82
// Get query parameters
33
83
//
34
- // curl -v http://192.168.4.1/?message=bob
84
+ // curl -v http://192.168.4.1/?who=Bob
35
85
//
36
86
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 ());
42
89
}
43
- request->send (200 , " text/plain" , " Hello, GET: " + message);
90
+
91
+ request->send (200 , " text/html" , (uint8_t *)htmlContent, htmlContentLength);
44
92
});
45
93
46
94
// Get form body parameters
47
95
//
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/
49
97
//
50
98
server.on (" /" , HTTP_POST, [](AsyncWebServerRequest *request) {
51
99
// display params
@@ -55,14 +103,14 @@ void setup() {
55
103
Serial.printf (" PARAM[%u]: %s = %s\n " , i, p->name ().c_str (), p->value ().c_str ());
56
104
}
57
105
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 ();
62
110
} else {
63
- message = " No message sent" ;
111
+ who = " No message sent" ;
64
112
}
65
- request->send (200 , " text/plain" , " Hello, POST: " + message );
113
+ request->send (200 , " text/plain" , " Hello " + who + " ! " );
66
114
});
67
115
68
116
server.begin ();
0 commit comments