Public
Authored by Clov

GllmR's mini-chat quick rewrite

Il faut changer div.card en form.card et button#chatBtn en input[type="submit"]#chatBtn dans le HTML pour que ça fonctionne.

J'ai retiré les action des requêtes HTTP, au profit des Methods :

  • GET => retourne les messages
  • POST => réception d'un nouveau message

Sous PHP, on peut utiliser

if ($_SERVER['REQUEST_METHOD'] === 'GET') {
  // formerly: action = getMessages
  // …
} else if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  // formerly: action = sendMessage
  $pseudo = $_POST['pseudo']
  $message = $_POST['message']
  // …
}

JQuery peut-être retiré : ce script utilise JavaScript ES6

From here

Edited
app.js 969 Bytes
  • J'ai aussi viré l'autoscroll qui me rendait dingue. Il faudrait revoir la méthodologie d'envoi récupération des message pour que ça scroll sur le dernier élément uniquement quand un nouveau message arrive.

    On allégerait aussi la taille des échanges front/back en utilisant l'en-tête HTTP If-Modified-Since à la date de la précédente requête pour ne recevoir que les nouveaux éléments. Si le serveur répond 304, alors il n'y a pas de nouveaux éléments et le front ne bouge pas toutes les ~500ms ; si le serveur répond 200 alors il y a des nouveaux messages depuis la dernière et on peut empiler les résultats à la suite de ce qui existe déjà (et provoquer le scroll si on veut, mais il faut faire une option pour que l'utilisateur puisse la [dés]activer).

  • Super !

    Je vais essayer de faire ça, merci.

    Se serait effectivement super pour l'autoscroll, je sais que c'est un peu du bricolage.

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment