AJAX cross-domain et service web XML

Fermé
joachim109 - 26 janv. 2009 à 14:39
 KNX - 5 août 2009 à 15:51
Bonjour,

J'ai vu sur ce lien très intéressant :
AJAX cross domain :
https://khayyam.developpez.com/articles/web/ajax-cross-domain/
qu'il est possible d'interroger en javascript un serveur distant et de récupérer les données pour les afficher. Dans l'exemple, les données recupérées sont au format JSON et sont utilisées pour faire de l'autocompletion.
Et ca marche très bien.

Je voudrais faire la même chose (autocompletion, serveur distant) mais le service web que j'utilise renvoie des données au format XML, dans un schema très simple :
<arrayofstrings><string>BLABLA</string><string>...</string></arrayofstrings>

Je ne sais pas comment ecrire un script qui utilise ces données.

Toute aide serait bienvenue.

Merci
A voir également:

5 réponses

Salut ! Je sais que ça fait longtemps et tu as surement dû trouver depuis mais je cherche pareil à faire du cross domain ajax.
En fait mon but est de lire un flux rss de n importe quel site en js.. NetVibe le fait donc c possible.

Apres peut etre que chercher du coté de l'ajax cross domain n'est pas la bonne solution ?
Bref c'est un peu flou là surtout que j'utilise beaucoup l'ajax et j'ai jamais percuté que basiquement ce n'était pas cross domain.

Et pour info, l'exemple que tu as donné est très intéressant mais pas de rapport avec la lecture du xml distant.
Là ils s'appuient sur le fait que la syntaxe json est interpretable par le js.
Donc ils "appellent" l'url via la balise script afin que le navigateur exécute les instruction js.

Et si tu regarde bien le code renvoyé par google est :
window.google.ac.h(["developpez",[
["developpez.net","1 290 000 résultats","2"],
["developpez .com","1 320 000 résultats","3"],
["developpez forum","4 040 000 résultats","4"],
["developpez java","1 430 000 résultats","5"],
["developpez php","4 790 000 résultats","6"],
["developpez.com forum","426 000 résultats","7"],
["developpez sql","1 300 000 résultats","8"],
["developpez.fr","71 résultats","9"],
["developpez javascript","1 140 000 résultats","10"],
["développer photo","1 980 000 résultats","11"]
]])

ou 'h' est une FONCTION js que l'on a définit AVANT l'appel à ce script.

Pas con du tout en tout cas ... :)

En tout cas si quelqu'un peut me dire comment fait NetVibes pour lire des flux rss externe en js ça m'aiderait.

Merci.

A++
1
up
0
Ahhhh c'était donc ça !!! ... Javascript, ni FLASH d'ailleurs ne sont cross domain...
Et netVibe, bah utilise une solution à laquelle j'avais pensé mais (!!!) c'est relou quoi... Un script serveur intermédiaire qui va chercher les pages pour nous. Eux c'est sûrement en php... Moi je vais devoir faire du JAVA (SUPER ...).

Bref voici l'article qui m'a renseigné sur la solution de NetVibes...
http://blog.geekfg.net/2008/07/le-crossdomain-un-besoin-de-support.html
Après ils savent peut être pas tout mais ça me parait la seule solution valable... Ce qui est dommage dans cette solution c'est le double chargement, 1 pour appeler le script sur son domaine, et le deuxième de son serveur vers l'autre domaine... bref.

A plus tard (même si je parle tout seul)
0
Mais non tu parle pas tout seul....pauvre ti calimero ;) lol
Bon moi je cherche un truc du genre aussi mais la je seche.
C'est pour une appli web interne a l'entreprise, donc tout le monde utilise firefox 3 si nécessaire.
On a un site distant et un site local sur la machine de chaque developpeur.
On navigue sur le site distant et lors d'un clique sur un boutton je veux déclencher une roquette ajax pour envoyer des données au site local et en récupérer.(le site local fait aussi des actions sur le dd de la machine porteur du site local)

Voila si vous avez une idée..merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Attends si j'ai bien compris. Chaque dev a son serveur en localhost, et chaque dev accede aussi au site distant via l'adresse : "https://www.domain.com/" (ou IP c la meme chose) ?

Donc tu veux que quand le dev se balade sur le site distant, à un moment tu veux pouvoir recuperer des données LOCALES en naviguant sur le distant c ca ?

Hum ... Si c'est ca, pourquoi tu ne fais pas une requete ajax sur localhost ? Etant donné que le js est executé coté client (le dev) et que (dans ton cas) chaque client a un serveur sur localhost, bah ta requete va toujours trouver trouver localhost !?

Pour ca il faut que tu sois sur que tous les utilisateurs soient des dev ayant un serveur installé.
En passant : localhost avec exactement le meme site installé en local, ou du moins les les fichiers correspondant aux requetes ajax.

DE PLUS : il faudrait aussi que tous les dev travaillent sur le même dossier et aussi même port : "http://localhost:80/monSiteLocal"
Si un d'entre eux décide que chez lui ça sera : "http://localhost:8080/monsiteLocalSansMajusculeParceQueJaimeBienEtreRelou"
Bah ca marchera pas non plus.

Mais Je suis un peu curieux sur l'interet de la chose si c'est ca ?
0