Bonjour
Au faite je voudrais faire une nouvelle version de mon application et l'ancienne version à chaque click je charge la page entière et sur cette nouvelle version je voudrais bien faire mes liens avec ajax de tel sorte que je veux charger simplement une partie de la page et non la page entière.
sachant que tous mes liens sont dans la balise <a href="contenu.php" >inscriptions</a>
Et du coup j'ai un petit souci pour récupérer tous mes lien en ajax donc svp aidez-moi je vous remercie.
Salut, tu peux cntinuer d'utiliser les liens classiques en utilisant Turbolinks ;)
npm install turbolinks
Dans ton app.js
import Turbolinks from 'turbolinks'
Turbolinks.start()
Et c'est bon! tes liens <a href>
ne rechargeront plus les pages :)
Et il y a une nouvelle version de Turbolink sinon: Turbo
Mais c'est fait pour RubyOnRails, tuu peux trouver l'équivalent de Hotwire Turbo dans d'autres frameworks, par exemple ça pour Laravel:
https://github.com/tonysm/turbo-laravel
Et si il n'existe pas d'équivalent dasn ton framework, turbolinks ça fonctionne très bien :p
Excusez-moi mais moi je programme avec le langage php et je crois que turbolink ne supporte pas les fichiers php
"
$(document).ready(function(){
$('#lien').click(function(event){
event.preventDefaulte();
link = $(this).attr("href");
$.ajax({
url : link,
dataType: 'html',
success: function (data, textStatus, rawRequest){
$("#ecran").html(data);
},
error:function (data, textStatus, rawRequest){
$("#ecran").html("Erreur de chargement de la page");
}
});
});
});
"
j'utlise ce code mais malheureusement il me charge la page entière et non seulement le div que je veux
Dans ton fichier php, tu peux mettre du javascript x)
alors ton script turbolinks comme je l'ai dis tu le met dans un fichier app.js
et dans ton index.PHP tu importes le fichier app
Il n'y a aucun problème de compatibilité, Turbolinks c'est une feature de RubyOnRails, mais en soit ce n'est que du Javascript, c'est d'ailleurs pour ça qu'il ont exportés turbolinks dans NPM, parce que ça fonctionne dans toutes les plateformes et tous les frameworks :p
Par contre HotwiredTurbo (la nouvelle version de turbolinks) je ne sais pas si ça fonctionne, perso j'utilise le bon vieux turbolinks c'est un script tout simple et il fonctionne bien
Et j'utilise Turbolinks dans mes projets Laravel, donc je te confirme que c'est compatible :p
En gros ça donne ca:
index.php:
<head>
<script src="./app.js" defer></script>
</head>
<body>
<a href="/ton_autre_page">Le lien est traqué par turbolinks</a>
</body>
app.js:
import Turbolinks from 'turbolinks'
Turbolinks.start() // ce script va traquer tous les liens de ta page, tu n'a rien a configurer tout fonctionne tout seul :p
style.css: ....tu mets ton style x)
de rien ;)
Et dernière chose, si jamais tu veux qu'un lien reste un vrai lien sans passer par turbolinks sufit juste de faire le lien comme ça:
<a href="/" data-turbolinks="false">Turbolinks ne touchera pas à ce lien</a>