Charger du contenu PHP avec AJAX

Eléphant du PHP | 248 Messages

28 oct. 2009, 11:52

Bonjour,
je me retrouve dans une situation compliqué, j'ai une page dont je charge les contenus de manière dynamique. Le seul souci c'est lorsque la page se recharge, j'ai tous mes éléments qui se remettent en place et la personne pour qui je développe le site pense que c'est un bug. Il m'a demandé si c'est possible que lorsqu'on clic sur une rubrique, uniquement la zone contenu(text, image,etc) se met à jour.

Est-il possible de le faire en Ajax?


Merci d'avance

ViPHP
ViPHP | 3607 Messages

28 oct. 2009, 11:55

Ben si tu utilises déjà l'ajax pour le chargement, oui c'est même assez simple...
Au lieu de mettre des urls toutes simples, tu ajoutes un évènement javascript qui rechargera seulement l'élément voulu...
Je vois pas trop le problème en fait :/

Eléphant du PHP | 248 Messages

28 oct. 2009, 11:59

Bonjour jojolapine,
merci pour ta réponse, mon souci c'est que je dois charger non seulement des contenus text, mais des slideshow, les galeries+vignettes

et je ne vois pas trop comment le faire

Mammouth du PHP | 568 Messages

28 oct. 2009, 14:00

Il te suffit de cracher le HTML+Javascript via ta requête AJAX puis de faire un eval pour que le code JavaScript soit interpreté.

Et comme ça ton slideshow fonctionnera.

Tu utilise quel library Javascript?

Eléphant du PHP | 248 Messages

28 oct. 2009, 14:04

Salut Yosh merci pour ta réponse.
La je suis un peu dans la merde.
j'utilise Jquery. donc enfait tu me suggère de récupérer le code en ajax et de faire un eval pour que le code soit interprété

Mammouth du PHP | 568 Messages

28 oct. 2009, 14:12

Salut Yosh merci pour ta réponse.
La je suis un peu dans la merde.
j'utilise Jquery. donc enfait tu me suggère de récupérer le code en ajax et de faire un eval pour que le code soit interprété
Ba normalement ta requête AJAX appel un fichier HTML ou PHP contenant ou pas du code Javascript.

N'utilisant pas JQuery, je pourrais pas trop t'aider mais d'après la doc

http://docs.jquery.com/Ajax/jQuery.ajax#options

Il éxiste une option dataType qui te permet de spécifier quel est le type de retour de la requête AJAX, et si tu regarde bien la réponse de type HTML dit ceci:
"html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
Et la partie interressante est
included script tags are evaluated when inserted in the DOM
Ce qui veut dire que les balises <script> sont interpretées.