Obtenir des Données Xml de la Croix-Domaine avec JQuery
Hé les gars, est-il un moyen de charger des Données XML de la Croix-Domaine avec JQuery (= côté client)?
$.get('http://otherdomain.com/data.xml', function(xml) { }
Le ci-dessus ne fonctionne pas - ce que je dois compter sur JSONP, ou est-il un moyen de charger le fichier XML?
OriginalL'auteur Dänu | 2010-05-31
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser JSONP.
Une autre méthode est d'utiliser un caché xdomain iframe et de communiquer avec elle via
postMessage
etreceiveMessage
, mais jsonp est beaucoup plus facile.ouais, le problème est, il y a toujours beaucoup de services web qui fournissent seulement des données au format xml. J'ai essayé de mettre en œuvre un "générique" de la méthode à recevoir des données.
OriginalL'auteur x1a4
Aucun moyen de charger le fichier XML. Donc oui, à l'aide de "standard" xmlhttprequests vous avez besoin JSONpadding.
Si le serveur prend en charge "Cross-Origin Resource sharing (SCRO)", vous pouvez facilement recevoir
les données d'un domaine étranger.
Cela signifie, vous devez ajouter un en-tête personnalisé dans votre XmlHttpRequest ("Origine") et le serveur
décide s'il autorise ou non à la demande.
OriginalL'auteur jAndy
J'ai constaté qu'avec Chrome certaines jsonp techniques ne fonctionnent pas.
Soit vous choisissez json et obtenez une croix erreur de domaine ou jsonp et xml format n'est pas reconnu, comme en attente de format jsonp.
Donc, la solution est d'utiliser Yahoo Langage de Requête api pour récupérer les données sur tous les navigateurs sans croix erreur de domaine.
Il y a beaucoup de façons d'appeler le lien et de jouer avec les données xml.
Je ne peux pas poster le code que j'ai, mais il vous sera facile de trouver des extraits sur le web.
Donc, vous devez définir votre url de requête api yahoo avec encodeURI méthode. Le getJSON méthode vient de jQuery et puis vous analyser un tableau de résultats de texte avec du xml brut.
OriginalL'auteur mantisse
Eh bien, nous sommes peut facilement récupérer les données de certaines fonctions php comme file_get_content et curl (comme je l'Php/ROR dev ,d'autres langues ont les mêmes fonctions). En utilisant ces fonctions, nous pouvons obtenir les données xml à partir d'domaine étranger,
Maintenant la question est de savoir pourquoi nous ne sommes pas en mesure de faire la même chose lors de l'utilisation d'AJAX,
Selon ma compréhension de l'enroulement et de file_get_content fonction n'a pas d'invoquer la requête http et l'Ajax n'.
En bref, nous ne pouvons pas charger les données xml à l'aide d'AJAX.
OriginalL'auteur Neel