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

@erational:
-  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 (= l’action ne finit pas en appelant redirige_par_entete)
-  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 :

<script type="text/javascript">/*<!\[CDATA\[*/window.open("#URL_ECRIRE{clevermail_lists}#lst#LST_ID","_self");/*\]\]>*/</script>

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 passer un redirect sur l’url de ton bouton action

JLuc - Mise à jour :8 November 2025 at 23:16