Tôi đang phát triển một trang lấy hình ảnh từ Flickr và Panoramio thông qua hỗ trợ AJAX của jQuery.
Phía Flickr đang hoạt động tốt, nhưng khi tôi cố gắng $.get(url, callback)
từ Panoramio, tôi thấy một lỗi trong bảng điều khiển của Chrome:
XMLHttpRequest không thể tải http://www.panoramio.com/wapi/data/get_photos?v=1&key=dummykey&tag=test&offset=0&length=20&callback= ProcessImages & minx = 30 & miny = 0 & max = . Nguồn gốc null không được cho phép bởi Access-Control-Cho phép Xuất xứ.
Nếu tôi truy vấn URL đó từ trình duyệt trực tiếp, nó hoạt động tốt. Điều gì đang xảy ra, và tôi có thể giải quyết vấn đề này không? Tôi đang soạn thảo truy vấn của mình không chính xác hay đây là điều mà Panoramio làm để cản trở những gì tôi đang cố gắng thực hiện?
Google đã không bật bất kỳ kết quả hữu ích nào trên thông báo lỗi .
BIÊN TẬP
Đây là một số mã mẫu cho thấy vấn đề:
$().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);
});
});
Bạn có thể chạy ví dụ trực tuyến .
CHỈNH SỬA 2
Cảm ơn Darin vì sự giúp đỡ của anh ấy với điều này. MÃ SỐ TRÊN LÀ SAI. Sử dụng cái này thay thế:
$().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:/
). Không có iframe
liên quan.
iframe
mà bạndocument.write
vào, ví dụ?