[AJAX] Chargement d'une seule partie de la page
Bonjour,
J'aimerais réaliser un petit site internet avec AJAX.
Pour cela, j'aimerais avoir une page principale, avec un menu en haut, à droite et à gauche des espaces réservés aux news, ... et au milieu une page Internet.
Lorsque je clique sur un lien ou sur le menu, il n'y a que la page centrale qui est rechargée. Le menu, les news, sont dans un seul fichier et sont chargé que lorsque l'on arrive sur le site.
Est-ce que j'ai été clair?
Comment puis-je réaliser cela à l'aide d'ajax?
Merci pour votre aide
boucle de requete et lien...
re-bonjour,
je crois qu'il faut bien commencer par là, récupérer des bouts de code pour les arranger à sa sauce ;-) bon courage...
voici la boucle de la requete :
**********
function Requete(){ //définition de la classe
if(window.ActiveXObject) return new ActiveXObject('Microsoft.XMLHTTP'); //pour IE
if(window.XMLHttpRequest) return new XMLHttpRequest();
else alert('Votre Navigateur ne prend pas en charge la technologie AJAX ! Utilisez Firefox -ou IE- pour visiter ce site...'); //pour les autres navigateurs
}
function Answer(requete,zone){ //fonction de callback
if(requete.readyState == 4){
if(requete.status == 200){
document.getElementById(''+zone+'').innerHTML = requete.responseText;
}
else alert("Une erreur [code : "+requete.status+"] est survenue...");
window.status = "Terminé";
}
else if(requete.readyState < 4){
window.status = "Chargement en cours... "+(requete.readyState*25)+"%"; //progression de la requete dans la barre de status du navigateur
}
}
function Ask(zone,fichier,methode,donnees){ //script de requete AJAX
var requete = false;
var requete = new Requete();
requete.open(''+methode+'',''+fichier+'',true);
if(methode == "POST") requete.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
requete.onreadystatechange = function(){ Answer(requete,zone);} //appel de la fonction de callback
requete.send(donnees);
}
**********
et voici un modèle de lien correspondant :
**********
<a href="javascript:Ask('article1.txt','GET','null');">Article 1</a>
ou
<span onClick="javascript:Ask('traitementForm.php','POST','var1=donnee1&var2=donnee2');">Soumettre le Formulaire</span>
**********
voila, en fait j'ai mis deux modèles de lien pour passer un coup par href et l'autre par onClick, de même pour POST et GET...
j'espère que ça t'aidera ;-)