Dans ce tutoriel, nous allons voir comment utiliser AJAX et une URL normale dans chaque lien pour améliorer l'expérience d'utilisateur d'un site web en JavaScript. Nous allons également utiliser le site standardcode.eu comme exemple.
Premièrement, installons les bibliothèques nécessaires pour utiliser AJAX. Dans un nouvel onglet de navigateur, accédez à https://www.npmjs.com/package/axios et cliquez sur «Install with npm» (Installer avec npm). Une fois l'installation terminée, ajoutez la ligne suivante au début de votre fichier JavaScript :
```
const axios = require('axios');
```
Ensuite, ouvrez le fichier HTML que vous souhaitez améliorer et ajoutez le code suivant dans la balise `` :
```
```
Dans ce code, nous définissons une variable `API_URL` qui contiendra l'URL de notre API. Nous utiliserons cette variable dans nos appels AJAX ultérieurs.
Maintenant, ouvrez la balise `` et ajoutez le code suivant dans la balise `
` qui contient les liens que vous souhaitez améliorer :
```
```
Chaque lien a une fonctionnalité différente : le premier affiche tous les articles, le deuxième les cache tous, le troisième affiche uniquement les liens et le dernier les cache tous. Nous allons utiliser ces liens pour charger et stocker les articles dans notre API.
Dans la fonction `loadLinks`, nous allons utiliser AJAX pour charger les articles et mettre à jour la vue. Voici le code de cette fonction :
```
function loadLinks(page) {
const url = `${API_URL}/articles?page=${page}`;
axios.get(url)
.then(response => {
const articles = response.data;
updateView(articles);
})
.catch(error => {
console.error(error);
});
}
```
Cet appel AJAX charge les articles à partir de l'URL fournie précédemment et stocke les résultats dans la variable `articles`. Cette variable est ensuite passée à la fonction `updateView` pour mettre à jour la vue.
La fonction `updateView` est appelée par `loadLinks` et affiche les articles dans la vue. Voici son code :
```
function updateView(articles) {
const container = document.getElementById('container');
articles.forEach(article => {
const link = document.createElement('a');
link.setAttribute('href', article.url);
link.innerHTML = article.title;
container.appendChild(link);
});
}
```
Cette fonction parcourt chaque article et crée un lien pour chacun d'eux. Chaque lien a un attribut `href` qui contient l'URL du site web correspondant et un contenu interne qui contient le titre de l'article. Les liens sont ensuite ajoutés à un élément de container pour mettre à jour la vue.
Maintenant, chaque fois que vous cliquez sur un lien, AJAX est appelé pour charger les articles correspondants, ce qui améliore considérablement l'expérience d'utilisateur par rapport à la simple chargement de pages statiques.