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 :

function formulaires_nom_traiter(){
	// Empecher le traitement en AJAX car on sait que le formulaire va rediriger autre part
	refuser_traiter_formulaire_ajax();
	
	// Effectuer des traitements
	
	// Valeurs de retours
	return array(
		'redirect' => 'Une autre URL'
	);
}

Auteur RastaPopoulos Publié le : Mis à jour : 12/03/23

Traductions : English, français