07 JS jQueryAjax 114711
07 JS jQueryAjax 114711
Manipuler JQUERY
• Découvrir JQUERY
• Découvrir AJAX
18 heures
DUT_GI 219
CHAPITRE 1
Découvrir JQUERY
08 heures
DUT_GI 220
CHAPITRE 1
Découvrir JQUERY
DUT_GI 221
01 - Découvrir JQUERY
Fonctions essentielles et chaînage
JQUERY : introduction
JQuery est une bibliothèque JavaScript open-source inventée par John Resig en 2006. Cette bibliothèque est compatible avec les
différents navigateurs web.
Le rôle de JQuery est de simplifier l'utilisation de JavaScript et la manipulation du DOM sur les site Web. En effet, les
traitements nécessitant l’écriture de nombreuses lignes de code JavaScript sont encapsulés dans des méthodes appelées dans
une seule ligne de code.
•Effets et animations
•AJAX
DUT_GI 222
01 - Découvrir JQUERY
Fonctions essentielles et chaînage
JQUERY : Installation
On peut utiliser deux manières pour utiliser JQuery dans les pages html :
Méthode 1 : Téléchargement de JQuery
Il existe deux versions de JQuery téléchargées depuis le site jQuery.com.
• Version de production : version minifiée et compressée pour la phase de l’hébergement.
• Version de développement : version non compressée et lisible, pour la phase de développement et de tests.
La bibliothèque jQuery téléchargée correspond à un fichier JavaScript. Pour l’utiliser il faut le référencer avec la balise <script>
dans la section <head> :
<head>
<script src="jquery-3.7.1.min.js"></script>
</head>
DUT_GI 223
01 - Découvrir JQUERY
Fonctions essentielles et chaînage
Syntaxe de JQUERY
La syntaxe de JQuery est basée sur les sélecteurs :
$( sélecteur ). action ()
• $() est un raccourci vers la fonction jQuery() qui trouve des éléments dans une page et crée des objets jQuery qui référencent
ces éléments.
Par exemple : $('p') et jQuery('p') : sélectionne tous les éléments p (paragraphe).
• Sélecteur correspond à sélecteur CSS pour interroger (ou rechercher) des éléments HTML.
• Action correspond à une action à effectuer sur le(s) élément(s) sélectionnés.
Exemples :
• $(this).hide() : masque l'élément courant.
PARTIE 5
DUT_GI 224
01 - Découvrir JQUERY
Fonctions essentielles et chaînage
$(document).ready(function(){
// Méthodes jQuery...
});
Exemples d'actions qui peuvent échouer si les méthodes sont exécutées avant le chargement complet du
document :
PARTIE 5
DUT_GI 225
01 - Découvrir JQUERY
Fonctions essentielles et chaînage
Notion de chaînage
Les instructions JQuery peuvent être écrites soit l'une après l'autre (dans des lignes différentes) ou en utilisant la technique de
chaînage. Le chaînage permet d'exécuter plusieurs actions JQuery l'une après l'autre (dans la même ligne), sur le même élément.
Exemple : Les méthodes css(), slideUp() et slideDown() sont appelées sur le paragraphe identifié par l’ID « p1 ».
Ainsi, l'élément "p1" devient d'abord rouge, puis il glisse vers le haut, puis vers le bas :
$("#p1").css("color", "red")
Syntaxe 2 : .slideUp(2000)
.slideDown(2000);
DUT_GI 226
CHAPITRE 1
Découvrir JQUERY
DUT_GI 227
01 - Découvrir JQUERY
Comportement des liens
<head>
<meta charset="utf-8">
<title>Désactiver un lien</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".menu a").each(function(){
if($(this).hasClass("disabled")){
$(this).removeAttr("href");
}
}); <body>
}); <ul class="menu">
</script> <li><a href="https://www.est-guelmim.ma">Lien1</a></li>
PARTIE 5
DUT_GI 228
01 - Découvrir JQUERY
Comportement des liens
<head>
<meta charset="utf-8">
<title>Désactiver un lien</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".menu a").each(function(){
if($(this).hasClass("disabled")){
$(this).attr("href","https://www.google.com/");
}
});
}); <body>
</script> <ul class="menu">
<li><a href="https://www.est-guelmim.ma"> Lien1</a></li>
PARTIE 5
</head>
<li><a href="https://www.est-guelmim.ma">Lien2</a></li>
<li><a class="disabled">Lien3</a></li>
</ul>
</body>
DUT_GI 229
Découvrir JQUERY
CHAPITRE 1
DUT_GI 230
01 - Découvrir JQUERY
Association d'évènements et déclenchement
$("p").click(function(){
// actions de l’évènement
$(this).hide();
});
Exemple 2 : La méthode dbclick()
Attribuer un événement de double clic et une fonction à tous les paragraphes d'une page. La fonction est exécutée lorsque l'utilisateur double-clique sur le paragraphe.
$("p").dblclick(function(){
$(this).hide();
});
PARTIE 5
DUT_GI 231
01 - Découvrir JQUERY
Association d'évènements et déclenchement
DUT_GI 232
CHAPITRE 1
Découvrir JQUERY
DUT_GI 233
01 - Découvrir JQUERY
Intégration de plugins existants
DUT_GI 235
01 - Découvrir JQUERY
Utilisation de plugins existants
DUT_GI 224
236
CHAPITRE 2
Découvrir AJAX
• Introduction à AJAX
• Fonctionnement d’AJAX
• Implémentation d’AJAX via jQuery
10 heures
DUT_GI 237
CHAPITRE 2
Découvrir AJAX
1. Introduction à AJAX
2. Fonctionnement d’AJAX
3. Implémentation d’AJAX via jQuery
DUT_GI 238
02 - Découvrir AJAX
Introduction à AJAX
Qu'est-ce qu'AJAX ?
AJAX est acronyme de « Asynchronous JavaScript And XML ». AJAX est une technologie basée sur :
• Un objet XMLHttpRequest intégré au navigateur (pour demander des données à un serveur Web).
• JavaScript et DOM HTML (pour afficher les données).
AJAX permet de :
• Lire les données d'un serveur web (après le chargement d'une page web) ;
• Mettre à jour une page web sans la recharger ;
• Envoyer les données à un serveur web (en arrière-plan).
PARTIE 5
DUT_GI 239
02 - Découvrir AJAX
Introduction à AJAX
L'objet XMLHttpRequest
• L’objet XMLHttpRequest de la technologie AJAX est un objet qui permet d’envoyer des requêtes HTTP au serveur, de recevoir des réponses et de mettre à jour la page
Web.
• En mode asynchrone, cette mise à jour se réalise sans devoir recharger la page et donc de façon totalement transparente pour l’utilisateur.
• L’objet XMLHttpRequest est basé sur le principe d’échange de données entre le client (la page web) et le serveur (sur lequel se trouve la page ou la source de données à
laquelle la page Web veut accéder).
DUT_GI 240
CHAPITRE 2
Découvrir AJAX
1. Introduction à AJAX
2. Fonctionnement d’AJAX
3. Implémentation d’AJAX via jQuery
DUT_GI 241
02 - Découvrir AJAX
Fonctionnement d’AJAX
DUT_GI 242
02 - Découvrir AJAX
Fonctionnement d’AJAX
Méthode Description
new XMLHttpRequest() Créer un nouvel objet XMLHttpRequest
• async: true (asynchrone, c’est à dire JavaScript n'a pas à attendre la réponse du serveur) ou false (synchrone)
• user: nom d'utilisateur (optionel)
• psw: mot de passe (optionnel)
DUT_GI 243
02 - Découvrir AJAX
Fonctionnement d’AJAX
Propriété Description
onreadystatechange Définit une fonction à appeler lorsque la propriété readyState change
DUT_GI 244
02 - Découvrir AJAX
Fonctionnement d’AJAX
DUT_GI 245
02 - Découvrir AJAX
Fonctionnement d’AJAX
La propriété onreadystatechange
• La propriété onreadystatechange de l'objet XMLHttpResponse permet de définir une fonction à exécuter quand une réponse est reçue.
• La propriété onreadystatechange exécute la fonction chaque fois que readyState change de valeur : Lorsque readyState est 4 et status est 200, la réponse est prête.
Exemple 1 : xhttp.onreadystatechange = function() {
Source : https://www.w3schools.com if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML = this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
this.responseText;
}
};
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
}
DUT_GI 246
02 - Découvrir AJAX
Fonctionnement d’AJAX
</div> }
function myFunction(xhttp) {
<script> document.getElementById("demo").innerHTML =
xhttp.responseText;
</script> }
DUT_GI 247
CHAPITRE 2
Découvrir AJAX
1. Introduction à AJAX
2. Fonctionnement d’AJAX
3. Implémentation d’AJAX via jQuery
DUT_GI 248
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
URL : chaîne de l’URL vers laquelle les données sont soumises (ou récupérées).
Options : options de configuration pour la requête Ajax. Un paramètre d'options peut être spécifié à l'aide du format JSON. Ce paramètre est facultatif.
PARTIE 5
DUT_GI 249
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
Options Description
Une chaîne contenant un type de contenu lors de l'envoi de contenu MIME au serveur.
contentType
La valeur par défaut est "application/x-www-form-urlencoded; charset=UTF-8"
data Une donnée à envoyer au serveur. Il peut s'agir d'un objet JSON, d'une chaîne ou d'un tableau.
dataType Le type de données attendues du serveur.
error Une fonction de rappel à exécuter lorsque la requête échoue.
global Un booléen indiquant s'il faut ou non déclencher un gestionnaire de requêtes Ajax global. La valeur par défaut est true.
headers Un objet de paires clé/valeur d'en-tête supplémentaires à envoyer avec la demande.
statusCode Un objet JSON contenant des codes HTTP numériques et des fonctions à appeler lorsque la réponse a le code correspondant.
success Une fonction de rappel à exécuter lorsque la requête Ajax réussit.
timeout Une valeur numérique en millisecondes pour le délai d'expiration de la demande.
PARTIE 5
type Un type de requête http : POST, PUT et GET. La valeur par défaut est GET.
url Une chaîne contenant l'URL à laquelle la demande est envoyée.
username Un nom d'utilisateur à utiliser avec XMLHttpRequest en réponse à une demande d'authentification d'accès HTTP.
password Un mot de passe à utiliser avec XMLHttpRequest en réponse à une demande d'authentification d'accès HTTP.
DUT_GI 250
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
<p></p>
Dans l'exemple ci-dessus, le premier paramètre '/getData' de la méthode ajax() est une URL à partir de laquelle on veut récupérer les données.
Par défaut, la méthode ajax() exécute la requête http GET si le paramètre d'option n'inclut pas l' option de méthode .
Le deuxième paramètre est le paramètre options au format JSON qui spécifie la fonction de rappel qui sera exécutée.
PARTIE 5
DUT_GI 251
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$.ajax('/jquery/getjsondata',
{
dataType: 'json', // type des données de la réponse
timeout: 500, // délai d’expiration en milliseconds
success: function (data,status,xhr) { // fonction callback en cas de succès
$('p').append(data.firstName + ' ' + data.middleName + ' ' + data.lastName);
},
error: function (jqXhr, textStatus, errorMessage) { // cas d’erreur
$('p').append('Error: ' + errorMessage);
}
});
<p></p>
PARTIE 5
Le premier paramètre est une URL de la requête qui revoie des données au format JSON.
Dans le paramètre options, l’option dataType spécifie le type de données de réponse (JSON dans ce cas). L’option timeout spécifie le délai d'expiration de la demande en
millisecondes.
DUT_GI 252
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
<p></p>
DUT_GI 253
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$.ajax('/jquery/submitData', {
type: 'POST', // Méthode POST
data: { myData: 'Mes données.' }, // données à envoyer
success: function (data, status, xhr) {
$('p').append('status: ' + status + ', data: ' + data);
},
error: function (jqXhr, textStatus, errorMessage) {
$('p').append('Error' + errorMessage);
}
});
<p></p>
PARTIE 5
Le premier paramètre est une URL de la requête qui revoie des données au format JSON.
L’option type désigne le type de la requête (POST dans ce cas). L'option data spécifie que les données qui seront soumises au serveur le seront en tant qu'objet JSON.
DUT_GI 254
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$.get('/data.txt', // url
function (data, textStatus, jqXHR) { // success callback
alert('status: ' + textStatus + ', data:' + data);
});
PARTIE 5
DUT_GI 255
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
}); })
.done(function () { alert('Request done!'); })
.fail(function (jqxhr,settings,ex) {
<p></p> alert('failed, '+ ex); });
DUT_GI 256
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$.post('/jquery/submitData', // url
{ myData: 'This is my data.' }, // données à soumettre
function(data, status, jqXHR) {// succès
PARTIE 5
<p></p>
DUT_GI 257
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$.post('/submitJSONData', // url
{ myData: 'This is my data.' }, // data to be submit
function(data, status, xhr) { // succès
alert('status: ' + status + ', data: ' + data.responseData);
},
'json'); // format des données de réponse
$.post('/jquery/submitData',
{ myData: 'This is my data.' },
function(data, status, xhr) {
$('p').append('status: ' + status + ', data: ' + data);
PARTIE 5
<p></p>
DUT_GI 258
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
$('#msgDiv').load('/demo.html');
<div id="msgDiv"></div>
PARTIE 5
Remarque
• Si aucun élément n'est trouvé par le sélecteur alors la requête Ajax ne sera pas envoyée.
DUT_GI 259
02 - Découvrir AJAX
Implémentation d’AJAX via jQuery
</html>
DUT_GI 260