ฉันกำลังพัฒนาหน้าที่ดึงภาพจาก Flickr และ Panoramio ผ่านการสนับสนุน AJAX ของ jQuery
ด้าน 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 Origin 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...
});
});
file:///C:/
) ไม่มีiframe
ส่วนเกี่ยวข้อง
iframe
ที่คุณdocument.write
เข้ามาเช่น?