L’AJAX est de plus en plus présent de nos jours dans les applications web dites « 2.0″. Il y a quelque temps, j’avais expliquer comment utiliser AJAX avec Prototype JS et aujourd’hui je vais vous apprendre comment utiliser les requêtes AJAX avec jQuery.
jQuery tente de s’imposer dans le monde du web2.0 et à entièrement réussi son paris (plutôt osé), son code est très simple, intuitif et vraiment efficace.
Le principe de jQuery est d’écrire moins mais pour faire plus (comme le dis le slogan) et je vais vous démontrer que cela est possible avec l’AJAX.
jQuery propose 5 facons d’utiliser l’AJAX différentes mais toute aussi efficace les une par rapport au autres :
Voila les 5 méthodes principales d’utilisation d’ajax que je développerais par la suite.
De plus, jQuery propose 6 événements récupérable durant l’éxécution d’une requête AJAX ; les événements prennent en paramètre une function. Voici la liste des événements
Cela va nous suffire pour commencer à travailler !
get
// Page test.php echo $_GET['name'] .' '.$_GET['email'];
$(document).ready(function () { // on verifie que la page est chargée
// on lance l'ajax sur la page php avec certains paramètres
$.get("test.php",{name: "John", email: "john@ndd.com"},
function success(data){ // au succès on renvoie le résultat de la requête
alert(data); // on l'affiche
});
});
post
// Page test.php echo $_POST['name'] .' '. $_POST['email'];
$(document).ready(function () {
$.post("test.php", { name: "John", email: "john@ndd.com" },
function success(data){
alert(data);
});
});
Le code de des méthodes sont quasiment identiques mais l’une passe les données en GET (test.php?name=John&email=john@ndd.com) et l’autre en POST (invisible).
post json
echo json_encode($_POST);
$(document).ready(function () {
$.post("test.php", { name: "John", email: "john@ndd.com" },
function success(data){
alert(data.name +' '+data.email);
},"json"); // on passe en paramètre optionnel le type de retour ici JSON
});
Ici c’est aussi très simple! Le format JSON permet de retourner un ensemble de valeur ou lieu d’une seule; ce qui peut être très pratique dans certains cas.
Pour conclure, nous pouvons dire que la manipulation de l’AJAX est vraiment aisé avec jQuery et vaut vraiment le détour !
« Sortie de PicsEngine 3 | Ajouter dynamiquement un icône pour les liens externes avec jQuery »
Un trackback
15 commentaires
Hotfirenet
26 août 2008 à 7:32
1Cool ca faisait un moment que je voulais voir ca, merci
Hotfirenet
26 août 2008 à 8:46
2ok mais, une petite question si je veux récupérer la valeur d’une liste d’une requête sql du type
j’interroge un fichier php en ajax je lui fait passer une valeur :
list($var1,$var2,$var3) = $mysql_fetch_row(mysql_query(’SELECT id, nom, prenom FROM maTable WHERE nom = « ‘.$_POST[nom].’» ));
comment recuperer les données ??
Merci
Dator
26 août 2008 à 9:17
3Ca dépend de ton retour ajax, si tu a besoin de plusieurs résultats qui ne sont pas obligatoirement affiché dans ton HTML de retour, je te conseille le JSON (voir exemple dans le billet).
Sinon tu écrit tu HTML dans ta page PHP appelée par AJAX avec ta boucle de listage (résultat SQL) et tu affiche ton HTML dans un conteneur grace au retour de ton AJAX.
Tu as compris ?
Hotfirenet
26 août 2008 à 10:06
4a ouais, pas bête ça pour le retour je cherché absolument a remonter uniquement les variables à insérer dans mon tableau présent sur ma page de base …
pas mal je vais tester comme ça par contre le retour se fait par un truc genre .html
Hotfirenet
26 août 2008 à 12:02
5pourquoi si je fais
test
$(function() {
$('#varForm').submit(function() {
nom = $('#nom');
$.post("exemple3.php", { name: nom },
function success(data){
alert(data.name +' '+data.email);
},"json"); // on passe en parametre optionnel le type de retour ici JSON
});
});
Votre nom
ca ne fonctionne pas
Dator
28 août 2008 à 10:11
6Déja c’est pas : $(function() mais # $(document).ready(function () { (je préfère comme cela.
Ensuite tu as oublié le var devant nom = $(’nom’);
Essaye comme ça et tiens moi au courant !
Kayl
1 septembre 2008 à 11:49
7Que conseil tu ? Jquery ou prototype ?
Clément
1 septembre 2008 à 13:29
8Me concernant, j’ai appris les 2 (et j’apprends toujours). jQuery est vraiment sympa d’utilisation et les effets sont mieux géré. De plus elle est moins lourde.
Après Prototype c’est un des gros framework avec lequel tu peux vraiment t’amuser longtemps.
Commence peut être avec jQuery et regarde en même temps Prototype
TiGeR WooD
2 septembre 2008 à 13:51
9jQuery sans hésiter ….
tu peux voir certaines différences dans l’éxécution ici
http://dev.jquery.com/~john/slick/
Tu pourras constater que le « final time» est moins important pour jquery que pour les autres frameworks.
En plus, comme le dit Clément, il est super simple d’utilisation.
Clément
2 septembre 2008 à 14:36
10@TiGeR WooD: En parlant des slickspeed : lui est plus à jour que le tien
http://mootools.net/slickspeed/
Bonne journée
Worolf
5 septembre 2008 à 23:27
11Excellent blog Clément
!! Je le lis depuis 3 mois et j’ai vu que tu es un utilisateur beaucoup plus avancé que moi dans JQuery. Pour faire une requête ajax comme dans ton exemple mais avec paramètre, une périodicité toutes les 10 secondes, c’est possible ?
Worolf
6 septembre 2008 à 0:28
12Et comme le partage est une règle d’or chez les développeurs, j’ai trouvé mon bonheur et je vous file le lien : http://leftlogic.com/lounge/articles/jquery_spy2/
jay
15 janvier 2009 à 15:05
13yeh!
Anakine
1 septembre 2009 à 16:16
14^pourkoi lorsque je l’applique chez moi, l’alerte affiche tout le code php
ND
25 février 2010 à 11:32
15Pas mal l’article.
Par contre utilise un correcteur orthographique…
Laisser un commentaire
Devenir Fan de Dator.fr
Nuage de tags
Sponsors
Blogoliste
Blogs Amis
Derniers Posts
Derniers Commentaires
Les meilleurs sujets
Propulsé par WordPress