相关疑难解决方法(0)

XmlHttpRequest错误:Access-Control-Allow-Origin不允许使用Origin null

我正在开发一个页面,通过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不允许使用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);
  });
});
Run Code Online (Sandbox Code Playgroud)

您可以在线运行该示例.

编辑2

感谢Darin对此的帮助. 上面的代码错了. 请改用:

$().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...
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery jsonp xmlhttprequest cors

535
推荐指数
8
解决办法
74万
查看次数

XMLHttpRequest无法使用jQuery加载URL

我正试图从"远程"网站获取一些json数据.我在99000端口上运行我的Web服务然后,我在99001端口上启动我的网站(http:// localhost:99001/index.html).

我收到以下消息:

    XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons. Origin http://localhost:99001 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

即使我将我的网页作为HTML文件启动,我也会这样:

    XMLHttpRequest cannot load http://localhost:99000/Services.svc/ReturnPersons.Origin null is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

Web服务返回数据.我尝试捕获这样的数据项:

var url = "http://localhost:99000/Services.svc/ReturnPersons";
$.getJSON(url, function (data) {
success: readData(data)
});
function readData(data) {
    alert(data[0].FirstName);
}
Run Code Online (Sandbox Code Playgroud)

而我正试图得到这种结构:

[{"FirstName":"Foo","LastName":"Bar"},{"Hello":"Foo","LastName":"World"}]
Run Code Online (Sandbox Code Playgroud)

你知道我为什么会收到这个错误吗?

jquery json cross-domain cors

55
推荐指数
4
解决办法
30万
查看次数

标签 统计

cors ×2

jquery ×2

cross-domain ×1

javascript ×1

json ×1

jsonp ×1

xmlhttprequest ×1