Je réalise une application web avec le framework Laravel sur laquelle il y a un tableau qui affiche tous les éléments d'une table de ma base de données. Mais j'aimerais actualiser toutes les secondes ce tableau pour pouvoir voir en direct lorsqu'un élément est ajouté ou supprimer de la table et non pas devoir rafraîchir ma page entière à chaque fois.
Après plusieurs recherches je penses qu'il faut que j'utilise jquery et ajax mais je comprends pas vraiment comment ils fonctionnent alors si quelqu'un peut m’aiguiller ou me dire comment faire SVP
Merci pour ta réponse mais j'ai regarder les websockets et ce n'est pas exactement ce qu'il me faut, il faut juste que ma div qui contient mon tableau ce réactualise seul toutes les secondes.
Si tu utilises Jquery, oui, c'est assez simple : tu exécutes ton appel Ajax toutes les secondes avec setInterval et récupères les données. après je ne connais pas ton code, mais tu dois pouvoir adapter ceci :
Sinon l'API fetch est standard et ne nécessite pas d'inclure une lib pour le faire. Ne l'oubliez pas.
Mais ouais, pour pas foutre le serveur à genoux en conditions réelles, le pooling toutes les 1 secondes, bof bof. Les websockets sont parfaitement adaptés pour répondre à ce problème.
- Edité par Genroa 17 avril 2019 à 14:18:43
/!\ Si je cesse de répondre c'est parce que vous êtes venus poster sans avoir suivi les cours de base sur le sujet. /!\
Es-tu vraiment sur que tu veux faire une requête toutes les secondes ? car 10 utilisateurs te fait du 10 requêtes par seconde au serveur (600 requêtes par minutes) ce qui est énorme.
Déjà un truc pour limiter c'est est-ce que tu as besoin de le faire toute les secondes et pas par exemple toutes les 10 secondes ?
Ensuite il faut éviter de lancer une requête si la précédente n'est pas terminé et il faut donc attendre la fin de la requête :
function loopAjax() {
$.ajax({
url: 'ton_url',
type: 'GET'
}).done(function (data) {
console.log(data) // Quand la requête réussi et retourne un 2XX
}).fail(function (err) {
console.log(err) // Quand la requête échoue ou retourne un 4XX ou 5XX
}).always(function () {
// Quelque soit le résultat il passe dans cette fonction
setTimeout(function () {
loopAjax()
}, 1000) // Quand la requête est finis on attends 1 seconde et on relance la fonction
})
}
loopAjax()
+1 Genroa avec l'api fetch. Et les websockets c'est exactement ça qu'il lui faut.
Merci à tous pour vos réponses je penses que je vais abandonné l'idée de réactualisé toutes les secondes et finalement utilisés les websockets
Actualiser un div toutes les secondes (Laravel)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
My website : Mon serveur discord, Se demerder tout seul, Faille XSS et SQL
N'oubliez pas d'activer les erreurs PDO.