CarmaBlog

Agilité, Développement Java, Nouvelles technologies et plus…
  • rss
  • Accueil
  • Management
  • Programmation agile
  • Technologie
  • Linux
  • Evénement
  • Contact
  • A propos de l'auteur
  • English
  • Francais

jQuery et Ajax

Fabian Piau | jeudi 22 septembre 2011 - 18:05
926 vues
  • Twitter
  • Facebook
  • Google +1
  • LinkedIn

Ajax

Logo Ajax

Apparu en 2005, Ajax (Asynchronous JavaScript and XML) regroupe un ensemble de technologies déjà existantes, notamment HTML, JavaScript et XML. Avec Ajax, les applications web peuvent mettre à jour partiellement la page affichée par le navigateur sans avoir à recharger la page entière. L’interface graphique peut ainsi évoluer par petits bouts, devenant ainsi plus interactive et reproduisant la sensation d’utiliser une application type client lourd. Nous parlons alors d’applications RIA (Rich Internet Applications). Le terme “Asynchronous” signifie que l’exécution du JavaScript continue sans attendre la réponse du serveur qui sera traitée quand elle arrivera. En mode synchrone, le navigateur est “gelé” en attendant la réponse du serveur.


jQuery

Logo jQuery

Initié en 2006, le projet jQuery est une bibliothèque JavaScript libre devenue très populaire. Elle permet de développer des scripts JavaScript rapidement et de manière concise, le slogan du site “Write less, do more.” (Ecrire moins, faire plus) est bien adapté ! jQuery intègre la gestion des évènements, des animations, des interactions Ajax, des selectors CSS… De plus, de nombreux plugins existent et la librairie fonctionne sur la plupart des navigateurs (cross-browser).


Ajax avec jQuery

Il y a plusieurs possibilités pour faire de l’Ajax avec jQuery.


$.get(url, data, callback, type)

$.get() permet de faire des requêtes de type GET. Il récupère la réponse dans de nombreux formats tels que XML, Html, Text, Script et Json.

	function ajouter_elements_table(elementIds) {
		$.get( 'demoajax.php', 
				{	
					'cmd': 'ajouterElements', 
					'elementSelecteds': elementIds
				}, 
				function (data) { refresh_table() });
	}



$.post(url, data, callback, type)

$.post() est l’équivalent de $.get(), mais les requêtes sont de type POST.


$.ajax(options)

$.get() et $.post() sont des implémentations plutôt haut niveau, plus faciles et simples à utiliser pour le développeur. Cependant, elles n’offrent pas autant de fonctionnalités que $.ajax(). Par exemple, la gestion de “callback” lorsque des erreurs interviennent, des options sur le cache, etc. $.ajax() ne prend qu’un seul argument qui est un objet composé de couples “clé/valeur”, utilisé pour initialiser et gérer la requête.

	function ajouter_elements_table(elementIds) {
		$.ajax({ url : 'demoajax.php', 
				data : {	
					'cmd': 'ajouterElements', 
					'elementSelecteds': elementIds
				},
				cache : false,
				success : function (data) { refresh_table() }});
	}


Problème de cache avec Ajax sous Internet Explorer

J’ai travaillé sur un projet qui utilisait jQuery et des appels Ajax. J’ai utilisé la méthode $.get() pour traiter mes appels simples. Cela fonctionnait parfaitement sous Firefox, Chrome et même Internet Explorer 6. Cependant, je me suis rendu compte que sous IE7, 8 et 9, j’avais des comportements un peu aléatoires.
Après quelques recherches, j’ai réalisé qu’il s’agissait d’un problème de cache. La première fois, l’appel Ajax est correctement traité. La seconde fois, le serveur n’est pas sollicité, mais je me retrouve quand même avec la même réponse…
Désormais, je priviligie l’utilisation de $.ajax() avec l’option “cache: false”.

Articles similaires

Progress barBarre de progression sur des dates avec JQuery
Commentaires
Pas de Commentaires »
Catégories
Programmation agile
Tags
ajax, jquery, problème cache ie
Flux rss des commentaires Flux rss des commentaires
Page 1 sur 11

Langue

  • Français
  • English

Articles les plus consultés

  • Changer la langue de Firefox - 18 802 vues
  • Java EE & CDI vs. Spring - 10 072 vues
  • Personnaliser Gnome 3 (Shell) - 8 185 vues
  • Firefox Nightly, Aurora, Beta, Desktop, Mobile, ESR & Co. - 5 975 vues
  • Extensions WordPress de CarmaBlog - 5 355 vues
  • Open Street Map, une meilleure carte que Google Maps? - 3 130 vues
  • Ce fichier est actuellement utilisé, vous ne pouvez rien y faire… Merci Windows ! - 2 905 vues
  • Belbin – Théorie des rôles dans une équipe - 2 388 vues
  • Réaliser un sondage en ligne avec Google Docs - 2 040 vues
  • Changer le splash screen d’Eclipse en quelques secondes - 2 013 vues

Tags

démonter chrome build jug nosql cloud gestion des configurations hiberner windows seven formation eclipse .net blog docjax wordpress watin firefox outil extension c# plugin itil nantes intégration continue script ebook automatisation bash ubuntu fosdem jquery ic java tdd raccourci mongodb extreme programming bonnes pratiques wave partage mobilité informatique test unitaire google windows 7 éjecter moteur de recherche de documents test disque dur agilité agile

Articles récents

  • Saisissez l’opportunité de suivre un cours sur la Gamification mardi 2 avril 2013
  • Comparaison NoSQL: Couchbase et MongoDB vendredi 8 mars 2013
  • IconFinder, la recherche d’icônes efficace vendredi 1 mars 2013
  • Retour sur Fosdem 2013 mercredi 20 février 2013
  • Fosdem, une conférence vraiment libre lundi 28 janvier 2013
  • Formation en ligne gratuite sur MongoDB mardi 1 janvier 2013
  • Découvrez Maxthon mardi 11 décembre 2012
  • Eteindre, mettre en veille ou hiberner son ordinateur? dimanche 9 décembre 2012
  • Une version mobile de votre Blog WordPress dimanche 28 octobre 2012
  • Réaliser un sondage en ligne avec Google Docs lundi 24 septembre 2012
  • Open Street Map, une meilleure carte que Google Maps? mercredi 25 juillet 2012
  • Une première approche du Camel d’Apache vendredi 11 mai 2012
  • Ce fichier est actuellement utilisé, vous ne pouvez rien y faire… Merci Windows ! dimanche 22 avril 2012
  • Personnaliser Gnome 3 (Shell) jeudi 15 mars 2012
  • Offrez un petit coup de jeune à votre application – CSS mercredi 15 février 2012

Flux RSS

RSS Feed RSS - Articles

RSS Feed RSS - Commentaires

Abonnement via Email

Saisissez votre adresse email pour être informé des nouveaux articles.

Liens

  • Agile Nantes
  • Blog Ippon Technologies
  • Blog Netapsys
  • Blog Xebia France
  • Blog Zenika
  • Coursera
  • Developpef
  • Le Touilleur Express
  • Les Cast Codeurs Podcast
  • new Blog( perso );
  • OCTO talks !
  • The Coder's Breakfast

Suivez-moi!

Suivez-moi sur TwitterSuivez-moi sur LinkedInSuivez-moi sur Google+Suivez-moi sur About.meSuivez-moi sur SlideShare

Catégories

  • Evénement (9)
  • Linux (3)
  • Management (4)
  • Programmation agile (11)
  • Technologie (26)

Archives

  • Avril 2013 (1)
  • Mars 2013 (2)
  • Février 2013 (1)
  • Janvier 2013 (2)
  • Décembre 2012 (2)
  • Octobre 2012 (1)
  • Septembre 2012 (1)
  • Juillet 2012 (1)
  • Mai 2012 (1)
  • Avril 2012 (1)
  • Mars 2012 (1)
  • Février 2012 (1)
  • Janvier 2012 (2)
  • Décembre 2011 (1)
  • Novembre 2011 (2)
  • Octobre 2011 (2)
  • Septembre 2011 (1)
  • Juillet 2011 (1)
  • Juin 2011 (2)
  • Avril 2011 (1)
  • Mars 2011 (1)
  • Février 2011 (1)
  • Janvier 2011 (2)
  • Novembre 2010 (2)
  • Septembre 2010 (1)
  • Août 2010 (1)
  • Juillet 2010 (1)
  • Juin 2010 (1)
  • Mai 2010 (1)
  • Avril 2010 (1)
  • Mars 2010 (1)
  • Février 2010 (1)
  • Décembre 2009 (1)
  • Novembre 2009 (1)
  • Octobre 2009 (2)
  • Septembre 2009 (2)
  • Août 2009 (3)
  • Juillet 2009 (1)
  • Juin 2009 (2)
rss Flux rss des commentaires get firefox
Fabian Piau | Copyright © 2009 - 2013
Tous droits réservés | Haut ↑