[AJAX] Accession à un serveur sans PHP
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é :roll:). 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:
Code:
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();
} |
qui me permet d'écrire en local dans un fichier XML
et celle-ci:
Code:
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();
} |
qui me permet de lire ce fichier XML toujours en local.
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?
Code:
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);
} |
Merci d'avance pour vos réponses :ccool: