[SPIP Zone] variables POST

Salut,
j'ai googlé et je n'ai rien trouvé de génial alors je demande....
Il semble que SPIP pour des raisons de cache, bloque les variables "POST" (enfin, si j'ai tout compris).

J'essaie de faire un squelette qui utilise très lourdement jquery, Ajax et les INCLURE
Comment faire pour que les requêtes AJAX arrivent à me passer des variables (qu'elles passent en POST 'normalement"').
Pour le moment, je met mes variables dans l'URL mais évidemment c'est horrible genre

/article10?k=c&l=a&x=e

Y-at'il une soluce "propre" ? ou alors faut-t'il carrément passer par des cookies (mais ca me paraît bien lourd....)

merci
Merci pour tous les efforts (la version 1.9.1 est déjà un régal pour les développeurs, la 1.9.2 m'est inaccessible mais je piaffe !)
Bonne année à tous
Michel

j'ai googlé et je n'ai rien trouvé de génial alors je demande....
Il semble que SPIP pour des raisons de cache, bloque les variables
"POST" (enfin, si j'ai tout compris).

Euh, non, tout passe en POST comme en GET; le seul truc c'est que les
résultats d'un POST ne sont pas mis dans le cache de spip.

la 1.9.2 m'est inaccessible mais je piaffe !)

Mais si, tu peux l'attraper par ftp, par spip-loader, ou par svn :slight_smile:

-- Fil

@ Michel JORDA <mjorda@ifrance.com> :

le tableau $_POST n'est pas recopié dans les #ENV à ce moment là ?

Normalement, si

PS: restons sur la liste

-- Fil

ben dŽsolŽ.
------
le code d'appel

$(fragment).load("#URL_SITE_SPIP?page=ajax-client&type="+fragment.id,{"toto":"tata"});
------------

dans le squelette ajax-client
#CACHE{0.1}
<?php
global $_GET,$_POST;
print_r($_GET);
print_r($_POST);
?>
#ENV{toto} -- Liste Ajax de <em>[(#ENV{type}|arg{1})]</em> pour client N° <em>[(#ENV{type}|arg{2})]</em>
---------------

rŽsultat

Array

(

     [page] => ajax-client

     [type] => travaux-76

)

Array

(

)

-- Liste Ajax de <em>travaux</em> pour client N¡ <em>76</em>
----------
alors que avec un ajax-client.php qui contient betement
<?php
global $_POST;
print_r($_POST);
?>

Array

(

     [toto] => tata

)

quelque chose m'Žchappe, mais quoi ?
MJ

Le 5 janv. 07 ˆ 19:48, Fil a Žcrit :

@ Michel JORDA <mjorda@ifrance.com> :

le tableau $_POST n'est pas recopiŽ dans les #ENV ˆ ce moment lˆ ?

Normalement, si

PS: restons sur la liste

-- Fil

le code d'appel

$(fragment).load("#URL_SITE_SPIP?page=ajax-client&type="+fragment.id,
{"toto":"tata"});
quelque chose m'échappe, mais quoi ?

Peut-être parce que #URL_SITE_SPIP?page=ajax-client provoque une redirection
vers #URL_SITE_SPIP/?page=ajax-client au cours de laquelle tu perds le POST
et tu passes en GET.

-- Fil

désolé de gaspiller le temps de la liste mais la ca devient très très space:

l'appel de
  $(fragment).load("#URL_SITE_SPIP/spip.php?page=ajax-client&type="+fragment.id,{"toto":"tata"});

génère logiquement:

http://mjintel.local/develop/GESCOM/spip.php?page=ajax-client&type=travaux-76

et la réponse est......

Fatal error: Call to undefined function: spip_mysql_showtable() in /Library/WebServer/Documents/Develop/GESCOM/ecrire/base/abstract_sql.php on line 119

Alors la...
J'ai supprimé mes_fonctions.php et mes_options.php par principe, vider le cache, mais je t'avoue que là....
j'ai vider les caches, essayé avec mes 3 navigateurs.... pareil
par contre, d'après FireBug, effectivement le post est passé.

MJ

Le 5 janv. 07 à 20:36, Fil a écrit :

le code d'appel

$(fragment).load("#URL_SITE_SPIP?page=ajax-client&type="+fragment.id,
{"toto":"tata"});
quelque chose m'échappe, mais quoi ?

Peut-être parce que #URL_SITE_SPIP?page=ajax-client provoque une redirection
vers #URL_SITE_SPIP/?page=ajax-client au cours de laquelle tu perds le POST
et tu passes en GET.

-- Fil

Heuuuuuu
sorry ca remarche
il fallait recaculer plusieurs fois le "ajax-client" et maintenant le post fonctionne
très désolé pour le bruit mais qu'on se le dise:
la syntaxe pour appeler correctement une page c'est

#URL_SITE_SPIP/?page=

si on met pas le / ca marche pas pour les POST :wink:

Le 5 janv. 07 à 20:48, Michel JORDA a écrit :

désolé de gaspiller le temps de la liste mais la ca devient très très
space:

l'appel de
  $(fragment).load("#URL_SITE_SPIP/spip.php?page=ajax-
client&type="+fragment.id,{"toto":"tata"});

génère logiquement:

http://mjintel.local/develop/GESCOM/spip.php?page=ajax-
client&type=travaux-76

et la réponse est......

Fatal error: Call to undefined function: spip_mysql_showtable() in /
Library/WebServer/Documents/Develop/GESCOM/ecrire/base/
abstract_sql.php on line 119

Alors la...
J'ai supprimé mes_fonctions.php et mes_options.php par principe,
vider le cache, mais je t'avoue que là....
j'ai vider les caches, essayé avec mes 3 navigateurs.... pareil
par contre, d'après FireBug, effectivement le post est passé.

MJ

Le 5 janv. 07 à 20:36, Fil a écrit :

le code d'appel

$(fragment).load("#URL_SITE_SPIP?page=ajax-client&type="+fragment.id,
{"toto":"tata"});
quelque chose m'échappe, mais quoi ?

Peut-être parce que #URL_SITE_SPIP?page=ajax-client provoque une
redirection
vers #URL_SITE_SPIP/?page=ajax-client au cours de laquelle tu perds
le POST
et tu passes en GET.

-- Fil

_______________________________________________
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

la syntaxe pour appeler correctement une page c'est
#URL_SITE_SPIP/?page=
si on met pas le / ca marche pas pour les POST :wink:

Oui c'est poru que la construction #URL_SITE_SPIP/#URL_ARTICLE marche (c'est
historique, maintenant on préfère #URL_ARTICLE|url_absolue ).

-- Fil

Fil wrote:

le code d'appel

$(fragment).load("#URL_SITE_SPIP?page=ajax-client&type="+fragment.id, {"toto":"tata"});
quelque chose m'échappe, mais quoi ?

Peut-être parce que #URL_SITE_SPIP?page=ajax-client provoque une redirection
vers #URL_SITE_SPIP/?page=ajax-client au cours de laquelle tu perds le POST
et tu passes en GET.

-- Fil

Pour firefox, il y a le plugin urlParam https://addons.mozilla.org/firefox/1290/ qui permet de voir le contenu des get et des post dans une barre latérale, et de les modifier.

--

Olivier G.
http://www.lespacedunmatin.info/blog/