Bonjour à tous !
Voilà, je souhaite récupérer les données de annuaire-inverse.com.
iadah.com a créé un widget faisant cela via une requête AJAX Jquery.
La page suivante http://www.iadah.com/widget/inverse.htm effectue une requête sur le site http://www.annuaire-inverse.com dont l'url finale est :
http://www.iadah.com/widget/proxy.ph.../?q=0495251963
La requête fait appel à une page proxy.php (hébergée sur iadah.com). Nous ne pouvons pas savoir ce qu'elle fait. Nous savons seulement - d'après le code - que les informations de l'annuaire inversé sont retournées au format XML.
D'après Firebug, le résultat est le suivant :
J'ai enregistré la page inverse.htm en local ainsi que toutes les images et fichiers Javascript liés au CSS et au fichier inverse.htm.
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 <?xml version="1.0" encoding="utf-8"?> <annuaire-inverse> <code><![CDATA[1]]></code> <nbrep><![CDATA[1]]></nbrep> <num><![CDATA[04 95 25 19 63]]></num> <numero> <type><![CDATA[particulier]]></type> <nom><![CDATA[ALLIGORIDES]]></nom> <prenom><![CDATA[Albert-pierre]]></prenom> <adresse><![CDATA[Corri Bianchi]]></adresse> <ville><![CDATA[ECCICA SUARELLA]]></ville> <cp><![CDATA[20 117]]></cp> <activite><![CDATA[architecte (profession d')]]></activite> <tel><![CDATA[04 95 25 19 63]]></tel> <fax><![CDATA[]]></fax> </numero> </annuaire-inverse>
En testant la page inverse.htm en local sans modification de la requête AJAX, la requête n'aboutie pas (erreur statut 404).
Etant à l'extérieur de http://www.iadah.com, j'ai modifié l'adresse de la page proxy.php mais la requête n'aboutie toujours pas (erreur code 0).
L'url de ma requête est pourtant la même ! :
http://www.iadah.com/widget/proxy.ph.../?q=0495251963
J'ai enlevé des bouts de code pour ne garder que l'essentiel.
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 function GetNum(q){ // on récupère le numéro de téléphone var num = $('#num').attr('value'); // variable proxy_host, inutilisé dans la fonction originale proxy_host = 'http://www.iadah.com/'; // variable host : page web source host = 'http://www.annuaire-inverse.com/'; // variable path utilisée dans la requête AJAX path = 'widget/?q=' + encodeURIComponent(num); // variable url : URL de la requête // [AVANT] url = 'proxy.php?host=' + encodeURIComponent(host) + '&path=' + path; // appel de la page proxy.php issue de iadah.com url = proxy_host + 'widget/' + 'proxy.php?host=' + encodeURIComponent(host) + '&path=' + path; $.ajax({ // requête de type GET type: "GET", // URL de la page a appeler url: url, // type de données retournée dataType: "xml", // A effectuer si la requête réussie success: function(xml){ alert(xml); }, // A effectuer si la requête échoue error: function (xhr, ajaxOptions, thrownError){ alert('Statut : ' + xhr.status); } }); }
Je ne sais pas pourquoi la requête échoue, je n'ai pas beaucoup d'expérience AJAX/JQuery.
N'y a t-il pas un moyen pour avoir plus de détails sur la cause de l'erreur 0 ?
xhr.responseText et xhr.statusText ne renvoient rien.
Merci d'avance !
______________________
Problème résolu :
Il faut simplement télécharger et analyser le fichier XML de l'url suivante en passant le numéro de téléphone en paramètre :
http://www.iadah.com/widget/proxy.ph.../?q=0495251963
Pourquoi faire simple quand on peut faire compliquer -_-
Partager