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 :
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>
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.

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 -_-