位置导航: ESP8266库 / ESP8266WebServer库 / 本页
说明
使用本函数,我们可以获取客户端向ESP8266物联网服务器发送的指定参数的数值。
语法
server.arg(Name)
server.arg(index)
参数
– Name
请求体中的参数名(参数类型: String)
– index
请求体中的参数序列号(参数类型: int)
返回值
指定参数的数值(类型:String)
示例程序
当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的IP。
假设您的开发板IP地址为192.168.0.106,那么接下来您可以通过浏览器输入以下地址信息。
http://192.168.0.106/?a=1&b=2&c=3
我们可以看到,以上信息中有三个参数,这些参数中,a的数值为1,序列号为2的参数数值为3(序列号0的参数为a, 序列号1的参数为b…)。
在以下示例程序中,我们使用server.arg("a")来获取参数a的数值。使用server.arg(2)来获取序列号为2的参数数值。以下是串口监视器显示的以上语句所获取的参数数值。

| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73  | 
						/**********************************************************************   项目名称/Project          : 零基础入门学用物联网   程序名称/Program name     : WebServer_demo_arg   团队/Team                : 太极创客团队 / Taichi-Maker (www.taichi-maker.com)   作者/Author              : Dapenson   日期/Date(YYYYMMDD)     : 20200320   程序目的/Purpose          :   使用8266作为WebServer,并用浏览器打开设备IP+80端口进行访问   并在请求成功后返回请求体的指定请求项的值,具体请参考自定义函数 echo_args()中的内容   -----------------------------------------------------------------------   本示例程序为太极创客团队制作的《零基础入门学用物联网》中示例程序。   该教程为对物联网开发感兴趣的朋友所设计和制作。如需了解更多该教程的信息,请参考以下网页:   http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/ ***********************************************************************/ #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> //设置WiFi接入信息 const char* ssid = "TaichiMaker"; const char* password = "xxxxxxxx"; //创建ESP8266WebServer对象 ESP8266WebServer server(80); void setup(void) {   //初始化串口   Serial.begin(115200);   Serial.println("");   //初始化网络   WiFi.mode(WIFI_STA);   WiFi.begin(ssid, password);   while (WiFi.status() != WL_CONNECTED) {     delay(500);     Serial.print(".");   }   Serial.println("");   Serial.print("IP Address: ");   Serial.println(WiFi.localIP());   //初始化WebServer   server.begin();   //设置主页处理函数   server.on("/", homepage);   //设置404页面   server.onNotFound(handleNotFound);   //串口输出服务器准备完成信息   Serial.println("HTTP server started"); } void loop(void) {   //监听客户请求并处理   server.handleClient(); } //自定义返回请求体信息 void echo_args() {   Serial.print("请求体参数a的值:"); Serial.println(server.arg("a"));   Serial.print("请求体第2个参数的值:"); Serial.println(server.arg(2)); } // 设置主页请求处理函数 void homepage() {   server.send(200, "text/plain", "test homepage");   Serial.println("用户访问了主页");   echo_args(); } // 设置处理404情况的函数'handleNotFound' void handleNotFound() {                                       // 当浏览器请求的网络资源无法在服务器找到时,   server.send(404, "text/plain", "404: Not found");           // NodeMCU将调用此函数。   echo_args(); }  | 
					
相关内容
– args – 请求包含的参数数量
– argName – 请求中参数名
– hasArg – 判断请求中是否包含某个参数名
位置导航: ESP8266库 / ESP8266WebServer库 / 本页