Nodemcu webserver post method çalışmıyor

Başlatan magnetron, 10 Nisan 2023, 12:44:38

magnetron

merhaba forum,

nodemcu esp8266 ile webserver uygulaması yapmaya çalışıyorum

burada post metodu ile bir checkbox işaretliyse Nodemcu led yakmaya çalışıyorum

bunu gerçekleştirmek için html post metodu kullandım fakat post metodu çalıştıramadım

eğer URL ye O1=1 yazarsam ledi yakabiliyorum

post metod ile yaparsam URL ye O1=1 eklenmiyor - daha doğrusu URL ye hiçbir şey eklenmiyor yani hiçbir argüman eklenmiyor

nasıl yapıcam

teşekkür



bu resimde URI: /O1=1 ibaresi benim elle URL ye "192.168.1.105/O1=1" girdiğim an , gönder(submit) butonu ile checkbox işaretlersem çalışmıyor

  server.on("/", handle_OnConnect); //Bağlantı sağlandıktan sonra server kontrolleri.

    server.onNotFound(handleRequest);

void handleRequest() {
   if (server.uri() == "/favicon.ico") {
    return;
  }
   String message = "URI: " + server.uri();
   if (server.args() > 0) {
    for (int i = 0; i < server.args(); i++) {
    message += server.argName(i) + "=" + server.arg(i);
    }
  }
  Serial.println(message);  if (message.indexOf("O1=1")==-1)  Output = 0; else  Output = 1;
  server.send(200, "text/html", HTMLpacket());

}
void handle_OnConnect() {
  Serial.println(server.uri() + server.args());
  Output = 0;
  server.send(200, "text/html", HTMLpacket());
}

    ptr += "<FORM METHOD=POST ENCTYPE=\"text/plain\">\r\n";   //plain
    
    ptr += "<TR><TD><INPUT TYPE=\"checkbox\" NAME=\"O1\" VALUE=\"1\"";
    if (Output) ptr += " CHECKED>O1</TD>\r\n"; else ptr += ">O1</TD></TR>\r\n";


    ptr += "<TR><TD><INPUT TYPE=\"submit\" NAME=\"Submit\"></FORM></TD></TR>\r\n";
    ptr += "</TABLE>\r\n";

    ptr += "</BODY></HTML>\r\n";



ttsellertt

server.send fonksiyonu ile message ı değil de HTMLpacket() fonksiyonunu göndermişsiniz. Fakat bu paketin içeriğini de göremedim. Sanki mesajı server.send fonksiyonu ile göndermeniz gerek gibi.

magnetron

@ttsellertt hocam cevap için teşekkür

stackoverflow da da yazmıştım

ENCTYPE=\"text/plain\" ibaresini kaldırmamı söylediler

onu yapınca çalıştı

yalnız bu kod ESP-01 de AT komutlarıyla çalışmıştı ona şaşırdım

neyse birilerinin işine yarar inşallah bu mesajım