Forum Clubic

Avoir du javascript dans un fichier php, appelé par ajax ?

Voila, je me suis “enfin” mis a ajax, apres avoir un peu étudier sont comportement, car il offre quand meme des fonctions sympatique.

J’ai une page web, avec un bouton, et un div.

Quand je clique sur le bouton, je fait une requette ajax ( via XMLHttpRequest ), pour afficher un fichier php dans mon div.

Et j’aimerai savoir, comment je peut ensuite, rajouter du javascript, dans mon fichier php ( pour déplier un div caché par ex ).

Dans mon fichier php, quand j’écrit alert(“test”); cela ne fait rien quand j’apelle la page via ajax.

Mais si j’ouvre le fichier php tout seul, j’ai bien une alerte.

J’aimerai donc savoir, si il y a des truc spécifique a déclarer, pour rajouter du javascript, dans un fichier php, appeler par ajax.

Salut,

Ca me parait logique car ta page à déjà été lue par le navigateur; Si tu met ton alert dans une fonction appelée par un autre bouton ça devrait marcher. (et si ça ne marche toujours pas, utilises ce bon vieux innerHTML et pas les fonction “upload” des framework js qui merdent assez souvent)

Si tu veux à tout prix faire de l’intrusif appelé en ajax, tu peux toujours créer une boucle infinie qui appelle chaque seconde la fonction que tu va appeler en ajax (et qui serait vide au départ)

Si tu colle du Javascript dans ton fichier lu par AJAX, il sera évalué comme texte, pas comme Javascript tout bonnement.

Ensuite, tu peux tenter de faire un eval(ajax.responseText) mais bof bof.

Wep, ca a l’air pas top.

Bon j’ai trouvé un compromis, faire une double requette dans les 2 div, chacune appelant deux page php distincte.

Une div a une height de 0 px, comme sa si vide, elle s’affiche pas, et si pleine, elle s’affiche ( tant pis pour l’anim kikoo jquery ).

C’était pour coder un acces inscription membre pour un site, pour vérifier si les pseudo etait valide ou non ( et avoir un msg d’erreur comme sur clubic.

Je vais essayer de supprimer le clik, et le remplacer par une détection de texte dans le input, mais, cela ne prend pas beaucoup de ressource, si il y a plus de 200 membre ? ( 2 requette pour scanner les membre donc ).

mais pour ce genre d’action il ne faut pas récupérer du javascript par l’ajax! il faut que ta fonction ajax analyse le retour de ta page php et fasse l’action appropriée elle même! (donc l"histoire du js qui marche pas qd il est appelé en ajax c’était déjà un faux problème)
et pour montrer ou cacher une div, tu as tout simplement l’option “visibility”.

Pour ce qui est de la charge, ta base est probablement sous mysql? Saches que Mysql est justement fait pour supporter un grand nombre de petites requêtes. Et les questions de ce genre se posent quand tu as plutôt 3 millons d’utilisateurs :wink:

Mais je n’ai pas suivi l’histoire des 2 requêtes : tu appelles ta page php en passant autant de params que tu veux, elle te retourne autant d’infos que tu veux, tu les analyse toutes, et tu fait toutes les actions qu’il faut! En une seule requête tu peux tout faire! Si tu n’aimes pas le xml, ton php peux retourner deux bouts de html avec un séparateur de ton choix, tu splite pour récupérer tes deux bouts d’html et tu les insères où tu veux.

En fait, j’ai mon input pseudo, un bouton verifié, et un div pour dire si il est valide ou non.

Ensuite, il y a un autre div caché, qui lui me donne l’erreur si le pseudo n’est pas valide.

Pour le moment, ça marche, j’ai creer une fonction pour verifier le champ pseudo :

Si on clik sur vérifier, une première requête ajax pour afficher si valide ou non dans le premier div.
Et une autre requête, pour afficher le possible message d’erreur dans le div caché.

Donc ensuite, oui le site tourne sous sql, et la comme j’envoit deux requête, chacune me scan le champ pseudo, avec :

. Recherche des caractere spéciaux, espace en doublons, etc.
. Recherche si le pseudo existe déja dans la bdd utilisateur temporaire.
. Recherche sur le pseudo existe déja dans la bdd utilisateur.