Je souhaiterai savoir s'il est possible d'écrire et/ou de lire un fichier XML présent sur un serveur avec ajax sans passer par php.
Je m'explique, je suis en stage dans une entreprise et je dois leur faire un calendrier de type google agenda (en moins compliqué). Cet agenda sera présent sur tablet PC qui ne supporte malheuresement pas le PHP.
Je dois tout de même stocké les données entrées dans cet agenda sur un serveur dans un fichier au format XML.
J'ai farfouillé sur le net et j'ai trouvé plusieurs fonctions comme celle-ci:
qui me permet d'écrire en local dans un fichier XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 //fonction qui écrit dans un fichier XML // Ligne: Ligne à insérer dans le fichier XML function ecrireXML(Ligne){ var ForReading = 1, ForWriting = 2, ForAppending = 8; // The following line contains constants for the OpenTextFile // format argument, which is not used in the code below. var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0; var fso = new ActiveXObject("Scripting.FileSystemObject"); // Open the file for output. var filename = "c:\\action.xml"; //Création du fichier s'il n'existe pas déjà if(!fso.FileExists(filename)) fso.CreateTextFile(filename,false); var f = fso.OpenTextFile(filename, ForAppending, true); // Write to the file. f.WriteLine(Ligne); f.Close(); }
et celle-ci:
qui me permet de lire ce fichier XML toujours en local.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 //fonction permettant de récupérer les actions enregistrées sur le serveur sur un fichier XML function actualisationAction2(){ var ForReading = 1, ForWriting = 2, ForAppending = 8; // The following line contains constants for the OpenTextFile // format argument, which is not used in the code below. var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0; var fso = new ActiveXObject("Scripting.FileSystemObject"); var filename = "c:\\action.xml"; // Open the file for input. f = fso.OpenTextFile(filename, ForReading); // Read from the file and display the results. while (!f.AtEndOfStream) { var r = f.ReadLine(); document.write (r + "<br />"); } f.Close(); }
Est-il possible de modifier ce code afin d'accéder à ce fichier XML sur un serveur.
dois-je utiliser plutôt une fonction utilisant les xmlHTTPRequest comme celle-ci?
Merci d'avance pour vos réponses
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 function actualisationAction() { 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("POST", "action.txt", true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4){ alert(xhr_object.responseText); //document.getElementById('bubule').value= xhr_object.responseText; } } xhr_object.send(null); }![]()
Partager