Requête GET JS, je coince, help

bien vu, je n'étais pas allé voir de ce côté

est-ce que la requête reçue ne correspond qu'à un seul slider ou vous groupez l'émission de plusieurs sliders d'un coup ?

S'il y en a plusieurs, je mettrais un truc du genre

for (int i = 0; i < request->params(); i++) {
  AsyncWebParameter* p = request->getParam(i);
  int indexSlider = atoi(p->name().c_str() + 1); // +1 pour sauter le s du début
  Serial.print("Slider #"); Serial.print(indexSlider)
  Serial.print(" prend la valeur #"); Serial.print(p->value().c_str())
}

S'il n'y en a qu'un seul, pas besoin de la boucle for

  AsyncWebParameter* p = request->getParam(0);  // premier paramètre
  int indexSlider = atoi(p->name().c_str() + 1); // +1 pour sauter le s du début
  Serial.print("Slider #"); Serial.print(indexSlider)
  Serial.print(" prend la valeur #"); Serial.print(p->value().c_str())

ensuite il suffit d'avoir un tableau pour les valeurs (au lieu de valeur1, valeur2, ...)

valeurSliders[indexSlider] = atoi(p->value().c_str());

Il y a plusieurs variables à récupérer, plus de 30, c'est pourquoi je souhaite réaliser cette boucle. Chaque variable est ensuite stockée dans l'eeprom.
je m'y remets ce soir, merci

j'ai bien compris qu'il y a plusieurs variables, la question c'est "combien passez vous de variables dans l'URL ?"

est-ce que vous avez conservé mon code et vous faites

http://xxx//slider?s1=22&s2=33&s3=55.... ➜ avec vos 30+ sliders listés dans l'URL

ou est-ce que chaque slider finalement déclenche sa propre URL

http://xxx//slider?s4=22. ➜ avec 1 seul slider dans l'URL

si vous passez tous les sliders, la boucle for va les passer en revue et on peut extraire l'index du slider

for (int i = 0; i < request->params(); i++) {
  AsyncWebParameter* p = request->getParam(i);
  int indexSlider = atoi(p->name().c_str() + 1); // +1 pour sauter le s du début
  Serial.print("Slider #"); Serial.print(indexSlider)
  Serial.print(" prend la valeur #"); Serial.print(p->value().c_str())
}

si vous émettez le GET avec 1 seul slider, on peut se passer de la boucle

1 Like

Non c'est pas aussi long, c'est aussi rapide :slight_smile:

@J-M-L je parlais du switch dans le cas de l'utilisions d'une variable différente pour chaque valeur.
Mais je préfère effectivement stocker dans un tableau, ce qui simplifie l'affectation de valeur.

J'avais besoin de cela exactement, ça marche à merveille sur esp8266. Merci beaucoup.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.