Programmer avec SPIP 3.0
Documentation technique sur SPIP 3.0

> > > > Traitement sans AJAX

Traitement sans AJAX

Si un formulaire est appelé en AJAX mais qu’il redirige sur une autre page à la fin du traitement, cela oblige à des contorsions Javascript (gérées par SPIP) pour capturer la redirection et renvoyer effectivement le navigateur sur une autre URL au retour de la réponse.

Lorsqu’une redirection est certaine, il est possible d’interdire AJAX sur le traitement du formulaire tout en le conservant pour la partie de vérification. De cette manière, seul le formulaire sera rechargé en cas d’erreur dans verifier(), mais si le traitement s’effectue, toute la page sera directement rechargée.

Pour cela, il faut appeler la fonction refuser_traiter_formulaire_ajax() au tout début des traitements :

  1. function formulaires_nom_traiter(){
  2. // Empecher le traitement en AJAX car on sait que le formulaire va rediriger autre part
  3. refuser_traiter_formulaire_ajax();
  4.  
  5. // Effectuer des traitements
  6.  
  7. // Valeurs de retours
  8. return array(
  9. 'redirect' => 'Une autre URL'
  10. );
  11. }

Télécharger

  • Auteur :
  • Publié le :
  • Mis à jour : 17/05/10
  • Traductions : English, français