IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

ESPAsyncWebserver POST - Réceptionner un POST client et extraire les données. [Arduino ESP32]


Sujet :

Arduino

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    bricoleur
    Inscrit en
    Octobre 2014
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : bricoleur
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 406
    Par défaut ESPAsyncWebserver POST - Réceptionner un POST client et extraire les données.
    Bonjour à tous,
    Un fichier HLML envoyé à un client, permet la saisie de données de type texte.
    A la fin de la saisie, un bouton permet la lecture des données et les stocke dans une variable String (msg), puis envoit le contenu de cette variable vers le serveur par un POST.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let listeBouton = document.querySelectorAll(".bouton");     //tous les boutons de la page
    listeBouton.forEach(function(k){
        k.addEventListener("click", function(f){
            touche = f.target.innerHTML;
            //debut de la saisie
            if(touche=="RAM"){
                lectureSaisie();
                //ecriture en RAM
                prgServeur("/API?Cmd=2AA");
                sauvegardeOk=true;
                //window.close();
            }......
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //************************envoi de la saisie**********************************************
    function prgServeur(url){
        fetch(url, {
            method: 'POST',
            headers:{"Content-Type": "Text/Plain"},
            body: msg
        })
            .then(response => response.text())
            .then(response => alert(response))
            .catch(err => console.log(err));
    }
    Mon problème: la réponse est vide et si je consule la console log de chrome, j'ai ces messages:
    Nom : ConsoleLog.JPG
Affichages : 539
Taille : 10,1 Ko
    Donc, tout laisse à penser qu'il y a un problème côté serveur, ce que m'a confirmé NOSMOKING sur le forum Javascript.
    Côté serveur, j'utilise la librairie ESPAsyncWebServer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //****API****
      serveur.on("/API?Cmd=2AA", HTTP_POST, [](AsyncWebServerRequest *req){ 
        req->send(200, "text/plain", "OK");
        String x = req->getHeader(x)->value();
        afficLcd2String(x,"");
        String message = req->getParam(message)->value();
        afficLcd2String(message,"");
        delai('s',5);   
      });
    A vrai dire, je ne suis pas sûr du tout que cette syntaxe soit bonne. Est-ce la bonne façon d'accuser réception? Est-ce la bonne façon de récupérer les données?
    Merci d'un coup de main.

    J'ai trouver mon problème:
    J'utile l'URL "API" pour faire le POST mais je l'utilise aussi pour des GET ce qui doit procurer une incompréhension du serveur.
    J'ai simplement mis "Toto" à la place et cela a fonctionné.
    Désolé pour le dérangement
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler un programme sur le poste client avec <object>
    Par ouioui2000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/08/2005, 14h40
  2. [Forms5]ouvrir un executable sur un poste client
    Par anthony8 dans le forum Forms
    Réponses: 2
    Dernier message: 30/06/2005, 14h26
  3. [CR][VB6]PB sur poste Client
    Par Angusy dans le forum SDK
    Réponses: 8
    Dernier message: 16/04/2005, 20h20
  4. communication entre poste client windows et db mysql distant
    Par gabole dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2004, 16h59
  5. [CR10][ASP.NET]Impression sur le poste Client
    Par David.V dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/04/2004, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo