Bonjour a tous,
je ne suis pas tout à fait sur du probleme mais il me semble que c'est un probleme de buffer.
Je possède une fonction qui créer un objet (LoaderComm) de type dtmlXMLLoaderObject puis qui charge des données via xml (LoaderComm.loadXML). Le problème c'est que quand j'actualise ma page HTML les données ne se raffraichissent pas lorsque je modifie le fichier XML en question.
J'en suis donc venue à la conclusion qu'il s'agissait d'un probleme de buffer, et qu'il fallait le vider avant de charger les données pour résoudre le problème. J'ai donc insérer (LoaderComm.clearAll(true) juste avant le LoadXML mais cette fonction n'est pas reconnue pour ce type d'objet (dtmlXMLLoaderObject), il me semble qu'elle est réservée aux objets de type (xgrid).
Avez vous une solution pour vider la mémoire de cet objet?
Voici le code pour une meilleure compréhension:
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 function charger_info_commande() { LoaderComm = new dtmlXMLLoaderObject(parseXMLComm,this,false,false); LoaderComm.clearAll(true); LoaderComm.loadXML(GetUrlPhp()+'sql_query_to_xgrid.php?SQL_QUERY=SELECT * FROM COMMANDES WHERE ID_COMMANDE='+document.getElementById('ID_COMMANDE').value); } function parseXMLComm(dhtmlObject,node,parentId,level,xml_obj,start) { nodeComms=xml_obj.getXMLTopNode("rows"); if (nodeComms.childNodes.length<1) return; for (var k =0;k<nodeComms.childNodes.length;k++) //for (var k =0;k<3;k++) { if ((nodeComms.childNodes[k].nodeType!=1)||(nodeComms.childNodes[k].tagName != "row")) continue; // nodeComm : Type row nodeComm = nodeComms.childNodes[k]; if (nodeComm.childNodes[0].childNodes.length>=1) { var id_status = nodeComm.childNodes[1].childNodes[0].nodeValue; document.forms['modification_commande_form'].elements['ID_STATUS'].value = id_status; } } }
Partager