Croix de Domaine JSONP Réponse XML
Je fais un api de la croix-demande de domaine à l'aide de JSONP et le serveur externe me renvoie le résultat au format XML, ci-dessous mon code:
$.ajax({
type: "Get",
url: "http://domain.com/function?Data=1234567890",
xhrFields: {withCredentials: true},
dataType: "JSONP text xml",
contentType: "application/xml",
cache: false,
success: function(xml)
{
alert($(this).find('ResponseStatus').text());
}
});
il me renvoie un fichier xml mais avec qui, il génère un message d'erreur indiquant "Unexpected token <", qui malheureusement s'arrête mon traitement et je n'obtiens un message d'alerte. Une idée?
Meilleur
J'espère vraiment que ce n'est pas votre code et que quelque chose va terriblement mal avec un copier-coller...
Merci pour la correction de Perry...!!!!
Avant de nous pencher sur votre code, il y a des questions plus importantes que vous avez à traiter. En règle générale, vous ne pouvez pas analyser xml à l'aide de jsonp. Cela s'explique bien mieux que je ne pourrais le faire ici stackoverflow.com/questions/10068963/... (veuillez envisager de donner à l'auteur que de les réunir un +1). Vous verrez bien qu'il y a des solutions de contournement, mais, comme @jmort253 points, si vous avez beaucoup de contrôle sur la sortie du serveur, vous seriez mieux la mise en forme de JSON pour commencer avec,
Si j'étais à votre place et je ne pouvais rien faire avec le format de sortie, je serais probablement chercher à coller quelques lignes de PHP ou Python (ou l'arme de votre choix) sur mon serveur web pour agir comme un proxy.
Merci pour la correction de Perry...!!!!
Avant de nous pencher sur votre code, il y a des questions plus importantes que vous avez à traiter. En règle générale, vous ne pouvez pas analyser xml à l'aide de jsonp. Cela s'explique bien mieux que je ne pourrais le faire ici stackoverflow.com/questions/10068963/... (veuillez envisager de donner à l'auteur que de les réunir un +1). Vous verrez bien qu'il y a des solutions de contournement, mais, comme @jmort253 points, si vous avez beaucoup de contrôle sur la sortie du serveur, vous seriez mieux la mise en forme de JSON pour commencer avec,
Si j'étais à votre place et je ne pouvais rien faire avec le format de sortie, je serais probablement chercher à coller quelques lignes de PHP ou Python (ou l'arme de votre choix) sur mon serveur web pour agir comme un proxy.
OriginalL'auteur adarsh723 | 2014-06-24
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans les commentaires ci-dessus, de la croix de domaine xml à partir de javascript n'est pas question, sauf si vous avez le contrôle sur l'application qui est cracher le XML et peut utiliser une mise en forme astuce pour "tromper" le script dans l'analyse comme JSON.
Si vous pouvez le faire même si, la question devrait être, pourquoi ne pas simplement le format JSON en premier lieu?
Alors... Les Options
Quelque chose comme ceci:
Bien sûr, dans cet exemple, vous ramenez toutes les données xml et de la recherche à l'échelle locale - l'option est là pour régler l'instruction select pour ramener tout ce que vous voulez.
Espère que ça aide
Duck duck go api a changé? l'exemple des journaux de la chaîne vide. À l'aide de yql semble fonctionner bien.
OriginalL'auteur PerryW