2121
2222static 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+
2474void 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