Bonjour,
Je galère depuis 3 jours pleins à essayer de passer des données en ajax sur une page web.
Le responseText est ok mais le responseXml est toujours "null" j'ai beau triturer cela dans tous les sens, rien à faire.
Il y a t-il une chose à faire coté linino pour l'obliger à envoyer en txt/xml au lieu de text/plain ???
Voici des bouts de code.
Fichier XML généré par l'Arduino et recu par responseText :
Le javascript (partie) qui est dans la page web :
function RecoisPremiereInfos() {
var nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (request.readyState == 4) {
if (request.status == 200) {
alert(request.getAllResponseHeaders()+"\r\n"+request.getResponseHeader("Content-Type")); // Pour surveiller ce qui se passe
CopyText2Clipboard(request.responseText); // Pour surveiller ce qui se passe
if (request.responseXML != null) {
// XML fichier reçu - Contient valeurs analogiques, valeurs digitales, variables et états Systeme
// Traitement des données
start_time = request.responseXML.documentElement.getElementsByTagName("start_time")[0].firstChild.nodeValue;
document.getElementById("start_time").innerHTML = start_time;
...........................
ETC...
...........................
// On déclenche le temps réel et arrête cette fonction d'entrée
clearInterval(timerunefois);
request.open("GET", "../arduino/ajax_live" + nocache, true);
request.send();
setInterval(GetArduinoLive(), 30000);
}
}
}
}
request.open("GET", "../arduino/ajax_param" + nocache, true);
request.send();
}
Partie de code qui génère le XML dans l'Arduino Yun :
// Envoi du fichier XML des paramètres
void XML_param(YunClient cl) {
// Obtenir l'heure à partir du serveur:
Process time;
time.runShellCommand("date +"%d/%m/%Y %H:%M:%S"");
String timeString = "";
while(time.available()) {
char c = time.read();
timeString += c;
}
startString.trim();
timeString.trim();
cl.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
cl.println("");
cl.println("\t");
cl.print("\t\t<start_time>");
cl.print(startString);
cl.println("</start_time>");
cl.print("\t\t<now_time>");
cl.print(timeString);
cl.println("</now_time>");
cl.println("\t");
cl.println("\t");
cl.print("\t\t<diam_cuve>");
cl.print(diam_cuve);
cl.println("</diam_cuve>");
cl.print("\t\t<long_cuve>");
cl.print(long_cuve);
cl.println("</long_cuve>");
cl.print("\t\t<offset_max>");
cl.print(offset_max);
cl.println("</offset_max>");
cl.print("\t\t<offset_min>");
cl.print(offset_min);
cl.println("</offset_min>");
cl.println("\t");
cl.println("\t");
cl.print("\t\t<vol_fioul>");
cl.print(vol_fioul);
cl.println("</vol_fioul>");
cl.print("\t\t<haut_fioul>");
cl.print(haut_fioul);
cl.println("</haut_fioul>");
cl.println("\t");
cl.println("");
//cl.println("");
}