Skip to content

Instantly share code, notes, and snippets.

@kapouer
Created April 15, 2015 13:44
Show Gist options
  • Save kapouer/c1de134d30dda7b1ae87 to your computer and use it in GitHub Desktop.
Save kapouer/c1de134d30dda7b1ae87 to your computer and use it in GitHub Desktop.
Comment soumettre un formulaire ?
1. Validation en javascript
Quand valide, javascript envoie le formulaire en XHR - ou si on veut
gagner du temps, on peut soumettre le formulaire par HTML.
2. POST vers l'url du document
La route s'occupe de faire la requête correcte vers la ressource concernée,
et ce qui est renvoyé dépend du client:
- si HTML, on fait une redirection
- si XHR, on renvoie un code http (avec du contenu ou pas)
3. Redirection xhr
Le code reçu par le javascript en retour de la soumission xhr doit être
utilisé pour rediriger ou pas vers la page demandée par le serveur
(en regardant le contenu du champ Location).
si http redirect 302 (je crois), req.getResponseHeader('Location'),
et document.location = la valeur obtenue
4. Affichage des erreurs
a. En xhr, même si on a validé les données, il est possible que le serveur
réponde avec une erreur 40x (400 pour paramètres non valides, 404 pour ressource non existante, 409 pour conflit).
b. En html, on fait une redirection et on passe le code d'erreur dans l'url avec
un paramètre qui dépend de l'application, par exemple, http_status=409.
À l'ouverture si le javascript qui s'occupe de la validation trouve ce paramètre,
il affiche l'erreur sur la page.
c. du coup en xhr, on peut très bien considérer que pour afficher une erreur
de validation ou autres, il suffit de changer l'url par l'api history -> ça
déclenche alors le code du b.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment