IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Récupérer données XML sur une url externe [Méthode POST]


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 23
    Par défaut [AJAX] Récupérer données XML sur une url externe [Méthode POST]
    Bonsoir,

    Je vous explique très vite mon problème :

    Je fais un validateur de code allopass en Javascript/Ajax, le problème c'est que l'API Allopass que j'utilise est sous forme d'url (https://payment.allopass.com/api/one...date-codes.apu), utilisant la méthode POST, et qui donne la réponse sous forme XML, et ça bloque.

    J'utilise le code suivant pour faire une requête en Ajax sur l'API (avec JQuery) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var dataString = 'site_id=xxx&product_id=xxx&code[]=xxx';
     
    $.ajax({
     
    		url : 'https://payment.allopass.com/api/onetime/validate-codes.apu',
    		dataType: 'xml',
    		type: 'POST',
    		contentType: 'application/x-www-form-urlencoded',
                    data: dataString,
    		success : alert(xml)
     
    });
    Mais il se trouve que rien ne marche, quelqu'un pourrait donc me donner la solution pour faire une requête sur cette API via la méthode POST et récupérer le code XML généré par cette dernière ?

    Merci d'avance,
    Cordialement,
    SoGeek.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonsoir,
    le paramètre success attend comme valeur une fonction, donc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $.ajax({
        url : 'https://payment.allopass.com/api/onetime/validate-codes.apu',
        dataType: 'xml',
        type: 'POST',
        contentType: 'application/x-www-form-urlencoded',
        data: dataString,
        success : function( xml){
            alert( xml);
          }
    });

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 23
    Par défaut
    Bonsoir,

    Malgré ce nouveau code, cela ne marche toujours pas, en effet, aucun advert ne s'affiche.

    Merci tout de même pour l'attention que tu portes à ce problème,
    SoGeek.

  4. #4
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut
    Ne s'agit-il pas ici d'un cas de requête en cross domain?
    Et si c'est le cas, en dehors de la technique avec jsonP, peut-on y parvenir avec du XML?
    Il m'est arrivé d'interroger une API XML mais seulement en PHP pur.
    mctarek

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    De toute façon, le cross domain commence à s'appliquer si l'on change le protocole, donc ne rêve pas : tu ne pourras jamais appeler une URL en https à partir d'une page qui ne l'est pas (et bien entendu, encore moins vers une URL différente de celle de la page appelante).
    Tu dois obligatoirement passer par un script sur ton serveur qui lui ira récupérer les informations de allopass.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2011
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2011
    Messages : 34
    Par défaut
    Merci Bovino. Voilà qui confirme mes doutes.
    A soGeek, tu peux toujours interroger l'API (validate-codes.apu) en PHP avec simplexml_load_file (avec création d'un context de flux) ou avec cURL. mctarek

Discussions similaires

  1. Récupérer donnée Boolean sur une table
    Par minooo dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 06/02/2012, 11h00
  2. Dispatcher une requete sur une URL externe
    Par blueman1 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/02/2009, 11h48
  3. [RegEx] Récupérer des infos sur une page externe
    Par kevinf dans le forum Langage
    Réponses: 1
    Dernier message: 29/10/2008, 08h28
  4. Récupérer des infos sur une page externe
    Par Horrigan dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/07/2006, 14h46
  5. Recupération de données XML depuis une URL
    Par tonymo dans le forum Format d'échange (XML, JSON...)
    Réponses: 27
    Dernier message: 21/11/2005, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo