Carnet Wiki

Parfois désactiver l’ajax d’un bouton_action

(Real3t :) J’ai un traitement via un bouton_action en ajax. Ça marche comme attendu, mais l’action elle-même fait dans certains cas : redirige_par_entete(generer_url_ecrire('uneautrepage'));, et ça charge l’intégralité de page page d’admin en ajax. Je voudrais dans ce cas particulier désactiver l’ajax via le PHP.

J’ai essayé sans succès :

redirige_par_entete(generer_url_ecrire('uneautrepage', 'var_noajax=1');
redirige_par_entete(generer_url_ecrire('uneautrepage', 'var_mode=noajax');

// je ne suis pas dans un form CVT mais dans une action, logique que ça ne marche pas
refuser_traiter_formulaire_ajax()  

Comment faire ?

Pas idéal, mais ça fonctionne

-  D’une part, j’ai supprimé la redirection du php : https://git.spip.net/spip-contrib-extensions/clevermail/src/branch/master/action/clevermail_post_remove.php#L19
-  D’autre part, j’ai mis la logique dans une boucle qui écrit un js qui fait le chargement de la page souhaitée : https://git.spip.net/spip-contrib-extensions/clevermail/src/branch/master/prive/squelettes/contenu/clevermail_posts.html#L103

La bonne façon de faire

(Cerdic :) Faire en sorte que l’action redirige sur une URL par défaut uniquement si pas de &redirect= dans l’URL de l’action, et de passer un redirect sur l’url de ton bouton action

JLuc - Mise à jour :13 juin 2023 à 15h54min