JeuWeb - Crée ton jeu par navigateur
[Résolu][jQuery] Chargement de contenus POST - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu][jQuery] Chargement de contenus POST (/showthread.php?tid=808)



[Résolu][jQuery] Chargement de contenus POST - phenix - 09-05-2008

Bonjour à tous,

Voila, comme je sais qu'il y a plusieurs utilisateurs de jQuery ici, je vais donc vous posez quelques questions, je débute et je ne trouve pas de réponse Sad

J'essaie de mettre en place une interface Ajax pour mon jeu, mais je me heurte à beaucoup de problèmes.

Tout d'abors un peut de code:

La fonction pour les liens en Ajax:

Code :
$(document).ready(
function ()
    {  
        $("a.lien").click(
        function()
            {
                $("#center").load(this.href);
                return false;
            }
        );
    }
);


Mes questions sont simples:

- Comment faire la même chose mais avec un formulaire POST ?
- Comme recharger (avec un lien) la div center, avec un fragment qui vient d'être charger par Ajax ?

J'ai presque rien trouver sur le net ou alors j'ai rien comprit, quelqu'un a une idée ?

Amicalement,

Phenix


RE: [jQuery] Quelques trucs avec Ajax - Anthor - 09-05-2008

C'est vaste, mais chacun des points énoncés correspond à un des alias de la fonction Ajax de jQuery. Tout est dans la docs, les exemples y sont.


RE: [jQuery] Quelques trucs avec Ajax - phenix - 09-05-2008

Citation :C'est vaste, mais chacun des points énoncés correspond à un des alias de la fonction Ajax de jQuery.

Heu ? j'ai rien comprit, pourrais-tu vulgariser ?

Citation :Tout est dans la docs, les exemples y sont.

Pour le formulaire, j'ai trouver sa: http://jquery.developpeur-web2.com/documentation/ajax/$.post.php

Ce qui ne m'avance pas vraiment puisque sa ne semble pas prendre en charge un formulaire, sa envoie juste un POST. Ou alors j'ai rien comprit.

Pour le chargement ajax depuis une page appeler avec Ajax, j'ai encore rien trouver...

Je suis pas spécialement doué avec Javascript je doit sans doute passer a coté de quelque chose :heuuu:

Phenix


RE: [jQuery] Quelques trucs avec Ajax - Sephi-Chan - 09-05-2008

Il faudrait que tu expliques ce que tu veux faire avec les formulaires et POST, mais une explication complète, pas à l'arrache.

Concernant les méthodes de jQuery pour Ajax, comme l'a dit Anthor, il faut savoir qu'elles font appelle à la méthode $.ajax(), avec des paramètres différents, autant t'habituer donc à utiliser directement cette dernière.

Par exemple dans ton cas tu peux remplacer load par :
Code PHP :
<?php 
$.ajax({
type : "POST",
url : "pageCible.php",
beforeSend : function(){
$(
'div#center').append('<img src="loader.gif" alt="" />');
},
success : function(response){
$(
'div#center').text(response);
},
error : function(){
$(
'div#center').text("An error occured.");
}
});

Pour que les événements définis dans la page appelantes (en l'occurrence tes liens façon Ajax) fonctionne avec le contenu DOM chargé par Ajax, il faut recourir à un petit plugin dont je ne me rappelle plus le nom (je veux pas balancer mais c'est Anthor qui me l'avait suggéré ! Smile).



Sephi-Chan


RE: [jQuery] Quelques trucs avec Ajax - phenix - 09-05-2008

C'est déjà un peu plus clair.

Citation :Il faudrait que tu expliques ce que tu veux faire avec les formulaires et POST, mais une explication complète, pas à l'arrache.

Ben je vais détailler alors :p

Code :
<form method="post" action="page.php">
<input type="text" name="1" />
<input type="submit" value="go">
</form>

Je voudrais que page.php soit afficher dans la div #center et que les données envoyer par le formulaire en POST soit ... envoyé.

Sa peut paraitre étonnant, mais j'ai rien trouvé la dessus... J'ai bien trouvé des trucs mais en général ces assez complexe... Pourtant je suis sur que c'est bête comme truc.

Citation :Pour que les événements définis dans la page appelantes (en l'occurrence tes liens façon Ajax) fonctionne avec le contenu DOM chargé par Ajax, il faut recourir à un petit plugin dont je ne me rappelle plus le nom (je veux pas balancer mais c'est Anthor qui me l'avait suggéré ! 2).

Tiens, voila autre chose, on peut faire des plugins pour jQuery... Je savais même pas... Si quelqu'un a une meilleur mémoire que Sephi-Chan, je prend le plugin (et la méthode pour l'installer Big Grin)

phenix


RE: [jQuery] Quelques trucs avec Ajax - Anthor - 09-05-2008

Code PHP :
<?php 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html>
<
head>
<
title>Envoi Formulaire Ajax</title>
<
script type="text/javascript" src="jquery.js"></script>
<
script type="text/javascript">
$(
document).ready(function(){
$(
'form').submit(function(){
$.
ajax({
type: "POST",
url: $(this).attr('action'),
data: {
"1": $(this).find('input[name=1]').val()
},
success: function(msg){
$(
'#centre').html(msg);
},
error: function(msg){
$(
'#centre').html('ERREUR : La requête n\'a pas aboutie.');
}
});
return
false;
});
});
</
script>
</
head>
<
body>

<
form method="post" action="page.php">
<
input type="text" name="1" value="" />
<
input type="submit" value="go">
</
form>
<
div id="centre" />

</
body>
</
html>

Oui, on peux aussi créer des plugins, en fait ce sont des ajouts de fonctions au core de jquery.


RE: [jQuery] Quelques trucs avec Ajax - phenix - 12-05-2008

Merci our ce code, je le garde au chaud pour quand j'en aurai besoin.

Par contre, personne ne ce souvien du nom du plugin ? Je cherche dans google mais y en a plus de 240 :hahahaha:


RE: [jQuery] Quelques trucs avec Ajax - Anthor - 12-05-2008

Livequery