Ouverture fichier xml en Ajax
Fermé
pillarofsummer
-
29 mai 2012 à 11:42
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 29 mai 2012 à 21:38
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 29 mai 2012 à 21:38
Bonjour,
Je me suis déjà risqué à poser cette question dans un autre forum. Sans réponse ..... :(
Mon soucis est le suivant:
Je dois ouvrir un fichier xml en utilisant l'Ajax que je ne maitrise pas du tout. On m'a conseillé d'utiliser prototype... mais je ne trouve rien permettant l'ouverture/lecture/ecriture/fermeture de fichier.
J'aurais très bien pu le faire en php, mais le reste de mon code étant en javascript....on m'a fortement conseillé de faire cette opération en Ajax.
J'ai retourné le web dans tous les sens et j'ai bien trouvé une fonction ou deux par-ci par-là..mai rien n'y fait.
Voila, en vous remerciant.
Je me suis déjà risqué à poser cette question dans un autre forum. Sans réponse ..... :(
Mon soucis est le suivant:
Je dois ouvrir un fichier xml en utilisant l'Ajax que je ne maitrise pas du tout. On m'a conseillé d'utiliser prototype... mais je ne trouve rien permettant l'ouverture/lecture/ecriture/fermeture de fichier.
J'aurais très bien pu le faire en php, mais le reste de mon code étant en javascript....on m'a fortement conseillé de faire cette opération en Ajax.
J'ai retourné le web dans tous les sens et j'ai bien trouvé une fonction ou deux par-ci par-là..mai rien n'y fait.
Voila, en vous remerciant.
A voir également:
- Ouverture fichier xml en Ajax
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Xml download - Télécharger - Édition & Programmation
2 réponses
D'un point de vue navigateur, il n'existe pas cette notion de pointeur de fichiers sur le système.
AJAX est une API permettant de consulter une ressource HTTP en Javascript.
Avec jQuery, il devrait donc être possible de faire :
jQuery.ajax('http://host/myfile.xml',{
success : function(data){
console.debug(data);
}
})
La variable "data" devrait être un DOM Node, et donc avoir toutes les méthodes associées.
AJAX est une API permettant de consulter une ressource HTTP en Javascript.
Avec jQuery, il devrait donc être possible de faire :
jQuery.ajax('http://host/myfile.xml',{
success : function(data){
console.debug(data);
}
})
La variable "data" devrait être un DOM Node, et donc avoir toutes les méthodes associées.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
29 mai 2012 à 21:38
29 mai 2012 à 21:38
Ajax est une fonctionnalité de javascript qui permet d'appeler un script php sur le serveur
donc tu fait ton script php de traitement de ton fichier xml et tu l'appelles en Ajax, tu peux mêm lui passer une ou plusieurs valeurs et récupérer en retour une réponse.
un exemple:
donc tu fait ton script php de traitement de ton fichier xml et tu l'appelles en Ajax, tu peux mêm lui passer une ou plusieurs valeurs et récupérer en retour une réponse.
un exemple:
<script type="text/javascript"> //fonction Appel Ajax function makeRequest(url,id_lire,id_ecrire){ var http_request = false; //créer une instance (un objet) de la classe désirée fonctionnant sur plusieurs navigateurs if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml');//un appel de fonction supplémentaire pour écraser l'en-tête envoyé par le serveur, juste au cas où il ne s'agit pas de text/xml, pour certaines versions de navigateurs Mozilla } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Abandon :( Impossible de créer une instance XMLHTTP'); return false; } http_request.onreadystatechange = function() { traitementReponse(http_request,id_ecrire); } //affectation fonction appelée qd on recevra la reponse // lancement de la requete http_request.open('POST', url, true); //changer le type MIME de la requête pour envoyer des données avec la méthode POST , !!!! cette ligne doit etre absolument apres http_request.open('POST'.... http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); obj=document.getElementById(id_lire); data="fichier="+obj.value; http_request.send(data); } function traitementReponse(http_request,id_ecrire) { if (http_request.readyState == 4) { if (http_request.status == 200) { // cas avec reponse de PHP en mode texte: //chargement des elements reçus dans la liste var reponse_traitement=http_request.responseText; obj = document.getElementById(id_ecrire); obj.innerHTML = reponse_traitement; } else { alert('Un problème est survenu avec la requête.'); } } } </script> <body> <form name="form1" action="" method="post"> fichier à traiter: <input type="text" name="nom_fichier_xml" id="champ_fichier_xml" value="" /> <br /><input type="button" name="traitement_fichier_xml" value="Traiter le fichier en Ajax" onclick="makeRequest(url,id_ecrire)('nom_de_ton_script_de traitement.php','champ_fichier_xml');" /> <br /><div id="reponse_traitement" ><!-- ici sera ecrite la reponse du traitement --></div> </body> dans ton script php tu recupéres le nom du fichier à traiter par $_POST['fichier"] si traitement avec succès tu peux mêtre un echo "traitement du fichier $_POST['fichier"] terminé"; ce message sera affiché dans le div