Inclure un fichier texte dans une page grâce au AJAX

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Inclure un fichier texte dans une page grâce au AJAX

Messagepar ApoLynx » 28 Jan 2006 à 22:53

Bonjour à tous.

Code: Tout sélectionner
<script language="Javascript">
function request03() {
	var xhr_object = null;
	
	if(window.XMLHttpRequest) // Firefox
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // Internet Explorer
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		return;
	}

	xhr_object.open("GET", "accueil.txt", true);
	
	xhr_object.onreadystatechange = function anonymous() {
		if(xhr_object.readyState == 4) alert(xhr_object.responseText);
	}
	
	xhr_object.send(null);
}
</script>


Je souhaiterai inclure un fichier texte dans une page en HTML grâce au AJAX.

pour cela, j'ai trouvé un bout de code mais il affiche une boîte de dialogue avec le contenu du fichier Accueil.txt.

J'aimerais afficher le contenu du fichier accueil.txt dans la page. (c'est du HTML)

Merci de m'aider !!

ApoLynx
ApoLynx
Roi des posts
Roi des posts
 
Messages: 730
Enregistré le: 17 Aoû 2005 à 21:01

Messagepar AideInfo » 28 Jan 2006 à 23:41

Si tu veux, j'ai du Ajax vitres ! :mrgreen:

Code: Tout sélectionner
if(xhr_object.readyState == 4) alert(xhr_object.responseText);


Ca doit venir de là à mon avis. Essaie de remplacer alert par document.write ou quelque chose du genre.
AideInfo
 

Messagepar Fly » 29 Jan 2006 à 00:12

Par exemple :
Code: Tout sélectionner
<!-- tu crée un div dans lequel tu met le resultat -->
<div id="res">
</div>


et tu modifie le js pour ajouter au début :
Code: Tout sélectionner
res = document.getElementById('res');


et modifier :
Code: Tout sélectionner
if (xhr_object.readyState == 4) 
  res.innerHTML += xhr_object.responseText; 
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Enregistré le: 12 Juin 2002 à 13:10
Localisation: Metz

Messagepar Vlad Tepesch » 29 Jan 2006 à 00:15

Tiens, c'est marrant, depuis que je me suis mis à demander de l'aide sur AJAX ici, tout le monde en fait :D

Je le fais super bien marché depuis quelques temps (oui, mon post sert à rien, mais Fly a dit tout ce que j'avais à dire) ^^
Avatar de l’utilisateur
Vlad Tepesch
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3420
Enregistré le: 04 Juil 2005 à 17:23
Localisation: Paris

Messagepar Fly » 29 Jan 2006 à 10:56

De toute façon ces scripts sont monnaie courante maintenant, c'est très utile, mais comme toutes les bonnes choses il faut pas en abuser, le principal défaut c'est que ça rompt le précédent/suivant du navigateur.

Une bonne intégration de ça dans un script et c'est nickel niveau ergonomie je trouve, y'a qu'a regarder mint par exemple.

Pour d'autres exemples utilisant ajax, y'a qu'a regarder le blog Typo, fait avec ruby on rails, c'est toujours sympathique de pouvoir faire du drag & drop sur des commentaires etc :). Et y'a plein d'autres exemples sur le net.
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Enregistré le: 12 Juin 2002 à 13:10
Localisation: Metz

Messagepar ApoLynx » 29 Jan 2006 à 13:25

Merci à tous pour votre aide. J'ai un petit problème :

Il y a un lien, sur ma page : http://apolynx.info/google/

On clique une fois, ça affiche le contenu de la page. On reclique, ça réaffiche...

Comment éviter cela?

J'aimerais également faire comme en PHP

<? function nom($nom)
{
echo $nom;
}
?>

c'est à dire mettre une variable de page dans la fonction qui affiche le contenu.

ensuire, inclure la variable page.txt

voilà !

Merci
ApoLynx
Roi des posts
Roi des posts
 
Messages: 730
Enregistré le: 17 Aoû 2005 à 21:01

Messagepar Vlad Tepesch » 29 Jan 2006 à 14:29

En reprenant le script plus haut, je crois que ce que tu veux faire, c'est ça :

Code: Tout sélectionner
<script language="Javascript"> 
function request03(param) { 
   var xhr_object = null; 
    
   if(window.XMLHttpRequest) // Firefox 
      xhr_object = new XMLHttpRequest(); 
   else if(window.ActiveXObject) // Internet Explorer 
      xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
   else { // XMLHttpRequest non supporté par le navigateur 
      alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
      return; 
   } 

   xhr_object.open("GET", "accueil.php?action="+param, true); 
    
   xhr_object.onreadystatechange = function anonymous() { 
      if(xhr_object.readyState == 4) alert(xhr_object.responseText); 
   } 
    
   xhr_object.send(null); 
} 
</script>
Avatar de l’utilisateur
Vlad Tepesch
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3420
Enregistré le: 04 Juil 2005 à 17:23
Localisation: Paris

Messagepar ApoLynx » 30 Jan 2006 à 20:23

Merci.

Néanmoins, j'aimerais savoir comment faire pour que quand on reclique sur le lien, la page soit réactualisée dans le DIV et non répétée.

ApoLynx
ApoLynx
Roi des posts
Roi des posts
 
Messages: 730
Enregistré le: 17 Aoû 2005 à 21:01

Messagepar Vlad Tepesch » 30 Jan 2006 à 22:08

Je comprend pas ce que tu veux dire, désolé :?
Avatar de l’utilisateur
Vlad Tepesch
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 3420
Enregistré le: 04 Juil 2005 à 17:23
Localisation: Paris

Messagepar Fly » 30 Jan 2006 à 23:35

ApoLynx a écrit:Merci.

Néanmoins, j'aimerais savoir comment faire pour que quand on reclique sur le lien, la page soit réactualisée dans le DIV et non répétée.

ApoLynx

remplace
Code: Tout sélectionner
res.innerHTML += xhr_object.responseText;
par
Code: Tout sélectionner
res.innerHTML = xhr_object.responseText;
Loués soient les Oris :).
Avatar de l’utilisateur
Fly
Grand-maître des floodeurs
Grand-maître des floodeurs
 
Messages: 4622
Enregistré le: 12 Juin 2002 à 13:10
Localisation: Metz


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités

cron