• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

HTTP_POST

Colibrilab

New member
Коллеги, помогите разобраться.

Есть web-страница, с которой нужно отправить на esp8266 данные. На странице используется JavaScript. Отправляется следующим образом:

var params = 'name=' + encodeURIComponent("some name");
xmlhttp.open("PОST", url, true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(params);

Как это получить на web-сервере esp8266 ? Callback-функция срабатывает, но как достать данные? Функция задаётся так:

server.on("/update", HTTP_POST, handleUpdate);
 

Colibrilab

New member

Сергей_Ф

Moderator
Команда форума
Может это поможет?
Но что то мне кажется, что обработка данных, которые не умещаются в Get-запросе, может вызвать переполнение буффера. Во всяком случае, в Ардуино ИДЕ. Там библиотеки ограничивают входной буфер зачастую 512 байтами.
 

Colibrilab

New member
Может это поможет?
Но что то мне кажется, что обработка данных, которые не умещаются в Get-запросе, может вызвать переполнение буффера. Во всяком случае, в Ардуино ИДЕ. Там библиотеки ограничивают входной буфер зачастую 512 байтами.
Мне нужен обработчик на IDE esp8266. Это не поможет. Проблем с отправкой нет. Проблема в получении. Размер буфера не имеет значения, т.к. обработчик POST-запроса вызывается до тех пор, пока все данные не получены. Буфер 2048 байт. Но это не мешает записывать файлы большего размера. Поэтому, размер буфера не имеет значения.
 

Colibrilab

New member
Курите первоисточник Arduino/ESP8266WebServer.h at master · esp8266/Arduino · GitHub ключевое слово arg и рядом
Спасибо. Уже нашел: server.arg("plain");. Непонятно, почему большинство ответов выглядит как "читайте источники...". Если человек знает ответ, то можно и ответить. Если не знает, то можно и промолчать.
 
Сверху Снизу