Env d'une inclusion ajax

JLuc <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Bonjour,

Je suis surpris par le fonctionnement des inclusions ajax.
Lorsqu'on les inclue, elles bénéficient du contexte passé en argument de l'inclusion :
les arguments explicites + l'environnement du contexte via 'env'.
Soit.

La doc recommande aussi de toujours passer 'env'. Soit.

Souvent ensuite le rechargement ajax se fait avec un href basé sur #SELF
(cf https://www.spip.net/fr_article3753.html ou https://programmer.spip.net/Liens-AJAX)
mais potentiellement les variables de la query de #SELF sont totalement différentes
de celles du contexte incluant la noisette ajax : noms de variables différents,
ou valeurs différentes.

Par exemple, sur une page article on peut avoir une noisette ajax qui présente la météo
du jour dont le n° dans l'année est indiqué par un champ extra de cet article.
(juste un exemple...)

Ce qui me surprend, c'est que lors du chargement ajax après clic, la noisette reçoit en contexte
- à la fois (prioritairement) les variables d'url de #SELF, complétées des éventuels parametre_url,
- ET les variables du contexte d'inclusion initial de la noisette
telles qu'elles se présentent lors du calcul de la page initiale incluant la noisette
(du moins celles qui ne sont pas écrasées par les variables du #SELF).

D'une certaine manière l'url du lien ajax ne sert QUE pour ses arguments d'url
puisque les squelettes de cette page, qui calculent et préparent le contexte d'appel de l'inclusion ajax
ne sont pas mis à contribution lors du clic d'un lien ajax.

Ça ne doit pas poser souvent problème,
mais ça doit en poser dans les cas où la valeur d'un contexte est calculée...
et où il va donc falloir faire autrement pour que ces calculs soient refaits
et ne soient pas écrasés au clic ajax.

++
JL
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.