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

JavaScript Discussion :

[AJAX] XHR (XMLHttpRequest) & XPath


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut [AJAX] XHR (XMLHttpRequest) & XPath
    Bonjour,

    Je souhaite pouvoir effectuer une recherche de type XPath sur le retour d'un appel XHR sur une page HTML banale (récupération d'une valeur) :
    {
    ...
    XHR = new XHRConnection();
    ...
    XHR.sendAndLoad('http://<site web tout à fait normal>/', 'GET',recup);
    ....
    }

    function recup(obj)
    {
    var node_result = obj.evaluate('\\select[2]',obj,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);


    }
    j'obtiens une erreur du type :
    Erreur : obj.evaluate is not a function
    Je sèche

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par atarax
    Bonjour,

    Je souhaite pouvoir effectuer une recherche de type XPath sur le retour d'un appel XHR sur une page HTML banale (récupération d'une valeur) :


    j'obtiens une erreur du type :


    Je sèche
    Tu utilises quel librairie? (là c'est pas du javascript standard). Sur quel navigateur tu as ce plantage?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut
    Ooops !

    C'est sur FireFox 1.5.0.8.

    Quant à la classe, je l'ai trouvée sur un site fort sympatique :

    http://www.sutekidane.net/blog/avec-...tprequest.html

    En fait je place cela dans un xpi (chrome://recup/content)

    l'idée est de pouvoir récupérer le résultat dans un objet qui pourrait être manipulé comme un document. J'obtiens bien un texte continu (donc pas un objet document) : un petit
    alert(obj.responseText)
    donne très bien (j'ai tout le code HTML de la page)

    Je ne sais pas comment le "transformer" en objet document pour appliquer la méthode Xpath ...

    merci

    atarax

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par atarax
    Je ne sais pas comment le "transformer" en objet document pour appliquer la méthode Xpath ...

    merci

    atarax
    Il faut utiliser
    Pour obtenir directement un Document DOM.

    Après, tu utilises une bibliothèque complètement inconnue au bataillon, donc je ne peux pas faire grand chose pour toi concernant la compréhension de cette librairie

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Par défaut
    Je reconnais le côté exotique de la classe, mais elle n'a rien de particulier.

    Sans être un patern, elle encapsule le XMLHttpRequest ...

    l'objet XHR n'est pas dans le domaine de visibilité de la fonction recup ... donc, même message.

    Plutôt que d'essayer de corriger une solution à moitier bonne (je ne suis pas accro à la petite classe XHR ), n'aurais tu pas une référence où je puisse trouver un pattern, classe, code-snipset qui propose un envoi d'une URL et a comme retour un document qui peut être exploité par XPath ? L'objectif est donc de récupérer une valeur dans une page HTML précise. La recherche se fait "facilement" avec une recherche XPath.

    Quand je regarde les définitions des méthodes de XMLHttpRequest on a :
    • responseText: The response from the server, as a String.
    • responseXML: The response from the server, as a Document Object Model, provided that the response was valid XML.


    le HTML n'étant pas du XML valide, cela foire -> je voudrais pouvoir reconvertir le string text en DOM valide ... mais comment ?

    merci

  6. #6
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par atarax
    le HTML n'étant pas du XML valide, cela foire -> je voudrais pouvoir reconvertir le string text en DOM valide ... mais comment ?
    Si le texte n'est pas du XML valide, tu ne pourras jamais en faire un arbre DOM. La bidouille des navigateurs pour transformer un page HTML en arbre DOM n'est pas accessible (et ne pense même pas à la reprogrammer).

    Le XHTML, ça te dit pas?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] XHR a usage unique?
    Par Gruik dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2006, 10h42
  2. [AJAX] [XHR] encodage et accents
    Par mig87 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2006, 15h17
  3. [AJAX] xhr.responseText et comparaison
    Par Nexussmb dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2006, 17h32
  4. [Ajax] Problème XMLHttpRequest Firefox
    Par wwave dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/09/2006, 15h42
  5. [ajax] xhr.responseXML == null ?!
    Par XecTech dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 12/08/2006, 17h22

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