Bonjour,

Je ne savais pas trop où mettre ce sujet, vu qu'il touche aussi bien XML, Ajax et javascript, jelaisse donc le soin aux modérateurs de choisir le plus approprié

Sinon voici mon problème : Je dois récupérer les données d'un XML via un dojo.xhr pour les afficher sous forme de tableau à l'aide de dojo DataGrid. J'arrive à récupérer les données et dans un autre contexte, j'arrive à faire afficher un DataGrid. Mais je bloque pour faire les deux en même temps. Du moins, j'arrive à afficher l'entête de mon tableau, mais pour les données, çà me marque : Une erreur est survenue. Coooollll Mais c'est quoi cette erreur plus précisément XD !

Voici le code que j'utilise :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<!DOCTYPE html>
<html>
<head>
	<title>Dojo</title>
	<link type="text/css" rel="stylesheet" href="claro.css"/>	
	<style type="text/css">
		@import "Grid.css";
		@import "nihiloGrid.css";
 
		.dojoxGrid table {
		  margin: 0;
		}
	</style>
 
	<script>dojoConfig = {parseOnLoad: true}</script>
	<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.1/dojo/dojo.js"></script>
	<script src="xml2jsobj.js"></script>
	<script>
		dojo.require("dojox.grid.DataGrid");
		dojo.require("dojox.data.XmlStore");
		dojo.require("dojox.data.JsonRestStore");
		dojo.require("dojo.data.ItemFileReadStore");
 
		dojo.ready(function(){
 
			var targetNode = dojo.byId("grid.DataGrid");
 
			var xhrArgs = {
			    url: "../vehicules.xml",
			    handleAs: "xml",
			    load: function(data, ioArgs){
			    	var JSONData = xml2json.parser(data);
 
					var newData = {
						identifier: 'vehicules',
						items: data
					};
 
					//var dataStore = new dojox.data.XmlStore({data: data});
			    	var dataStore = new dojo.data.ItemFileReadStore({data: newData, id:"dataStoreId"});
					var gridStructure = [
	                   [
	                     { field: "numero", 	 	 name: "Numéro", 			width: 5,  },
	                     { field: "marque", 	 	 name: "Marque", 			width: 5,  },
	                     { field: "modele",  		 name: "Modèle", 			width: 10, },
	                     { field: "immatriculation", name: "Immatriculation", 	width: 15, },
	                     { field: "date_immat", 	 name: "Date immat", 		width: 10, }
	                   ]
	                 ];					                 
 
					var grid = new dojox.grid.DataGrid({
						structure: gridStructure
					});
					grid.setStore(dataStore);
					grid.placeAt(targetNode);				
					grid.startup(); 
			    },
			    error: function(error){
			        targetNode.innerHTML = "An unexpected error occurred: " + error;
			    }
			};
 
			var deferred = dojo.xhrGet(xhrArgs);
		});
	</script>
</head>
<body class='claro'>
 
<h1>Dojo</h1>
 
<div id="grid.DataGrid" style="width:900px; height:200px;"></div>
 
</body>
</html>
Le fichier XML est ce qu'il y a de plus classique, rien de compliqué.

J'ai essayé avec deux Data store différent, l'un pour XML et un autre pour du JSON.

Si quelqu'un aurait la gentillesse de m'aider, je lui en serais grandement reconnaissant

Merci d'avance.