Estou desenvolvendo uma página que extrai imagens do Flickr e do Panoramio por meio do suporte AJAX do jQuery.
O lado do Flickr está funcionando bem, mas quando tento no $.get(url, callback)
Panoramio, vejo um erro no console do Chrome:
O XMLHttpRequest não pode carregar 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 . A origem nula não é permitida pelo Access-Control-Allow-Origin.
Se eu consultar esse URL diretamente de um navegador, ele funcionará bem. O que está acontecendo e posso contornar isso? Estou compondo minha consulta incorretamente ou isso é algo que o Panoramio faz para impedir o que estou tentando fazer?
O Google não encontrou nenhuma correspondência útil na mensagem de erro .
EDITAR
Aqui está um código de exemplo que mostra o problema:
$().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);
});
});
Você pode executar o exemplo online .
EDIT 2
Agradeço a Darin por sua ajuda nisso. O CÓDIGO ACIMA ESTÁ ERRADO. Use isto:
$().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:/
). Não iframe
está envolvido.
iframe
vocêdocument.write
, por exemplo?