Bonjour à tous,
Je me bats depuis hier avec un script!
Je m'explique, j'dois récupérer des données d'un fichier PHP avec une requête en ajax. Au début je ne récupérai qu'une seule chose, mais j'ai décidé de changer et donc je dois récupérer deux contenus. Pour cela j'ai donc décidé de passer de responseText à responseXML. Donc dans le fichier PHP je fais un mini fichier xml qui ressemble à ça:
Le fichier PHP entre autre:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10header('Content-Type: text/xml'); echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; [...] echo "<retour>\n"; echo "<contenu>".$donnees['contenu']."</contenu>\n"; echo "<keywords>".$donnees['keywords']."</keywords>\n"; echo "</retour>\n";
Ca me semble correcte ce code. Bref quand je fais "alert(xhr.responseText);" j'ai bien un truc qui ressemble à un fichier xml. Quand je fais "alert(xhr.responseXML);" j'ai ceci: [object]. Ce qui me semble normal. Par contre je peux mettre n'importe quoi après ça fonctionne pas. J'ai testé xhr.responseXML.documentElement.getElementByTagName("contenu") et tout un tas d'autres trucs, rien ne fonctionne. J'ai retourné le web toute la journée rien trouvé. Il faut dire que j'suis nul en javascript.
Bref je vous colle quand même le fichier JS:
Voilà, j'suis complétement perdu alors que ça doit être une connerie. Avec responseText aucun soucis, avec responseXML rien ne fonctionne.
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 function makeRequest(page, nom) { var xhr; if(window.XMLHttpRequest || window.ActiveXObject) { if(window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return; } xhr.onreadystatechange = function() { if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) { var retour = alert(xhr.responseXML.?????????????????????????????); var oEditor = FCKeditorAPI.GetInstance( 'FCKeditor1' ) ; oEditor.SetHTML(retour); } } document.getElementById('page').value = page ; document.getElementById('fichier').innerText = nom ; document.getElementById('titre').value = nom ; xhr.open("GET", "request.php?page=" + page + "&titre=" + nom + "", true); xhr.send(null); }
Je précise que ce script est repris d'un exemple trouvé sur le net. Et qu'il faut que ça fonctionne
Voilà, merci de votre aide.
Partager