Bonjour,
Je souhaiterai afficher des fichier csv sur uen page html sous forme de graph. Pour cela, j'utilise la bibliothèque Highcharts et le principe Ajax. Je me suis basée sur des exemples sur internet, j'ai donc creer un graph le plus simple possible. Mais lorsque je vais sur mon url, on me propose "d'enregistrer sous mon csvFiles" alors que le fichier csv que je demande existe déjà et est bien dans mon dossier avec tous mes codes. (J'utilise Node.js). Voici le code ma page html et celui de mon gestionnaire de requêtes:
Pour le callback, xhr.responseText, vu qu'il n'existe pas de responseCsv, je ne sais pas quel type je dois mettre.
Je précise aussi que mon graph est crée dans le fichier graph.js.
Merci d'avance.
Je souhaiterai afficher des fichier csv sur uen page html sous forme de graph. Pour cela, j'utilise la bibliothèque Highcharts et le principe Ajax. Je me suis basée sur des exemples sur internet, j'ai donc creer un graph le plus simple possible. Mais lorsque je vais sur mon url, on me propose "d'enregistrer sous mon csvFiles" alors que le fichier csv que je demande existe déjà et est bien dans mon dossier avec tous mes codes. (J'utilise Node.js). Voici le code ma page html et celui de mon gestionnaire de requêtes:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Techniques AJAX - XMLHttpRequest</title>
<script src=graph.js></script>
<script src="jquery.js"></script>
<script type="text/javascript">
function getXMLHttpRequest() {
var xhr = null;
if (window.XMLHttpRequest || window.ActiveXObject) {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
} else {
xhr = new XMLHttpRequest();
}
} else {
alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
return null;
}
return xhr;
}
function request(calledUrl, callback) {
var xhr = getXMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
callback(xhr.responseText);
document.getElementById("id_hanche");
}
};
xhr.open("GET", calledUrl, true);
xhr.send(null);
}
</script>
</head>
<body>
<p>
<button onclick="request('http://localhost:8080/csvFiles?filename=hanche.csv', readData);">Afficher le fichier XML</button>
<div id="id_hanche"></div>
</p>
</body>
</html>
Pour le callback, xhr.responseText, vu qu'il n'existe pas de responseCsv, je ne sais pas quel type je dois mettre.
var fs = require("fs");
function start(response, request) {
console.log("Le gestionnaire 'start' est appelé.");
fs.readFile('page.html', 'utf-8', function(error, content) {
response.writeHead(200, {'Content-Type' : 'text/html'});
response.write(content);
response.end();
});
}
function accesSession(response, request) {
console.log("Le gestionnaire 'accesSession' est appelé.");
fs.readFile('pagetwo.html', 'utf-8', function(error, content) {
response.writeHead(200, {'Content-Type' : 'text/html'});
response.write(content);
response.end();
});
}
function accesCSV(response, request, query) {
console.log("Le gestionnaire 'accesXML' est appelé.");
fs.readFile(query.filename, 'utf-8', function(error, content) {
if (error) {
console.error(error); //Si le fichier n'est pas trouvé
response.writeHead(404); //On renvoie une 404
} else {
response.writeHead(200, {'Access-Control-Allow-Origin': '*', 'Content-Type' : 'text/csv'});
}
response.write(content);
response.end();
});
}
exports.start = start;
exports.accesSession = accesSession;
exports.accesCSV = accesCSV;
Je précise aussi que mon graph est crée dans le fichier graph.js.
Merci d'avance.