我正在开发一个页面,该页面通过jQuery的AJAX支持从Flickr和Panoramio中提取图像。
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。Access-Control-Allow-Origin不允许使用Origin null。
如果我直接从浏览器查询该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... }); });