Tworzę stronę, która pobiera obrazy z Flickr i Panoramio dzięki obsłudze AJAX przez jQuery.
Strona Flickr działa dobrze, ale kiedy próbuję $.get(url, callback)
z Panoramio, widzę błąd w konsoli Chrome:
XMLHttpRequest nie może załadować 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 . Pochodzenie null jest niedozwolone przez Access-Control-Allow-Origin.
Jeśli zapytam bezpośrednio ten adres URL z przeglądarki, działa dobrze. Co się dzieje i czy mogę to obejść? Czy niepoprawnie redaguję zapytanie, czy też jest to coś, co robi Panoramio, aby utrudnić to, co próbuję zrobić?
Google nie wykryło żadnych przydatnych dopasowań w komunikacie o błędzie .
EDYTOWAĆ
Oto przykładowy kod pokazujący problem:
$().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);
});
});
Możesz uruchomić przykład online .
EDYCJA 2
Dzięki Darinowi za pomoc w tym. POWYŻSZY KOD JEST ŹLE. Zamiast tego użyj tego:
$().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:/
). Nie iframe
jest zaangażowany.
iframe
, w któredocument.write
się angażujesz?