Je développe une page qui extrait des images de Flickr et Panoramio via le support AJAX de jQuery.
Le côté Flickr fonctionne bien, mais lorsque j'essaie de $.get(url, callback)
partir de Panoramio, je vois une erreur dans la console de Chrome:
XMLHttpRequest ne peut pas charger http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150 . L'origine nulle n'est pas autorisée par Access-Control-Allow-Origin.
Si je demande directement cette URL à partir d'un navigateur, cela fonctionne très bien. Que se passe-t-il et puis-je contourner cela? Suis-je en train de composer ma requête de manière incorrecte, ou est-ce quelque chose que Panoramio fait pour entraver ce que j'essaie de faire?
Google n'a trouvé aucune correspondance utile sur le message d'erreur .
ÉDITER
Voici un exemple de code qui montre le problème:
$().ready(function () {
var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback=processImages&minx=-30&miny=0&maxx=0&maxy=150';
$.get(url, function (jsonp) {
var processImages = function (data) {
alert('ok');
};
eval(jsonp);
});
});
Vous pouvez exécuter l'exemple en ligne .
EDIT 2
Merci à Darin pour son aide. LE CODE CI-DESSUS EST MAUVAIS. Utilisez-le à la place:
$().ready(function () {
var url = 'http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&minx=-30&miny=0&maxx=0&maxy=150&callback=?';
$.get(url, function (data) {
// can use 'data' in here...
});
});
file:///C:/
). Non iframe
est impliqué.
iframe
que vousdocument.write
en, par exemple?