Я разрабатываю страницу, которая извлекает изображения из Flickr и Panoramio через поддержку jQuery AJAX.
Сторона Flickr работает нормально, но когда я пытаюсь $.get(url, callback)
из Panoramio, я вижу ошибку в консоли Chrome:
XMLHttpRequest не может загрузить 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. Происхождение null не допускается через Access-Control-Allow-Origin.
Если я запрашиваю этот URL из браузера напрямую, он отлично работает. Что происходит, и могу ли я обойти это? Я неправильно сочиняю свой запрос или это то, что Panoramio делает для того, чтобы помешать тому, что я пытаюсь сделать?
Google не показывал никаких полезных совпадений в сообщении .
ИЗМЕНИТЬ
Вот пример кода, который показывает проблему:
$().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);
});
});
Вы можете запустить пример в Интернете.
РЕДАКТИРОВАТЬ 2
Спасибо Дарину за его помощь в этом. ВЫШЕПРОВОДНЫЙ КОД НЕПРАВИЛЬНО. Используйте это вместо:
$().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...
});
});