Interroger un web service via javascript

Bonjour à tous,

Je transmet une petite info sur l’interrogation d’un web service à partir d’un javascript (ajax). Le but étant de récupérer le résultat d’un web service en fonction d’une entrée utilisateur sur une page web par exemple.

J’utilise le framework prototype, mais je pense que c’est facilement transposable pour ceux qui utilisent jquery ou mootools.

L’exemple est celui d’une interrogation d’un WS qui renvoie une liste de serveurs sur lesquels l’application entrée par l’utilisateur est présente.

Voici le code HTML (on ne peut pas plus simple):

<script src=’prototype.js’></script>

<input id=’appli’ type=’text’><input onclick=’getAppli();’ type=’button’ value=’go’>

<div id=’result’></div>

et le code javascript :

<script>

function getAppli(){

if($F(‘appli’)!= »){

new Ajax.Request(‘http://nomduserver/wsinfosi/GetInfoSi.asmx/GetEquipmentBusiness’,{

method: ‘post’,

parameters:{business_app:$F(‘appli’).toUpperCase()},

encoding:’utf-8′,

onCreate:function(){

$(‘result’).update(‘<img src=\’wait.gif\’ />’);

},

onComplete: function(transport){

var txt = transport.responseText;

$(‘result’).update(txt);

}

});

}

}

</script>

N’hésitez pas si vous avez des questions sur ce petit bout de code :)

A bientôt !

PS : c’est juste un exemple hein … je devrais virer le onclick et associer un événement au click plus « proprement » normalement !

Cette entrée a été publiée dans Blog, avec comme mot(s)-clef(s) , , , , . Vous pouvez la mettre en favoris avec ce permalien.

2 réponses à Interroger un web service via javascript

  1. overdoze dit :

    bonjour
    Merci pour ce bout de code, mais je suis un newbee en programmation et surtout en javascript.
    je voudrais faire appel au service web du Chronopost pour récupérer les points relais mais j’arrive pas avec votre bout de code.
    je ne sais pas comment accéder au nœuds du fichier xml récupéré.
    merci

  2. Séb dit :

    Bonjour,

    Faire appel au web service pour récupérer un résultat est la 1ère partie.
    La 2ème est d’interpréter ce résultat !
    La, tout dépend du javascript utilisé. Si c’est prototype, tu peux récupérer le XML « nativement » pour le traiter.
    Du coup, le transport.responseText de mon exemple devient un transport.responseXML
    Il y a un bon exemple de ce que tu veux faire ici :
    http://blog.pascal-martin.fr/post/Utiliser-XML-comme-format-echange-de-donnees-en-utilisant-prototype

    J’espère que celà répond à ta question.
    Cdt,
    Sébastien

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>