596 Stimmen

Fehler "Origin null is not allowed by Access-Control-Allow-Origin" für eine Anfrage einer Anwendung, die von einer file:// URL aus ausgeführt wird

Ich entwickle eine Seite, die Bilder von Flickr und Panoramio über die AJAX-Unterstützung von jQuery abruft.

Die Flickr-Seite funktioniert einwandfrei, aber wenn ich versuche, die $.get(url, callback) von Panoramio, sehe ich einen Fehler in der Chrome-Konsole:

XMLHttpRequest kann nicht geladen werden 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 . Herkunft null wird von Access-Control-Allow-Origin nicht zugelassen.

Wenn ich diese URL direkt von einem Browser aus abfrage, funktioniert es einwandfrei. Was ist da los, und kann ich das Problem umgehen? Setze ich meine Abfrage falsch zusammen oder ist dies etwas, das Panoramio tut, um das zu behindern, was ich zu tun versuche?

Google lieferte keine brauchbaren Treffer zum Thema Fehlermeldung .

EDIT

Hier ist ein Beispielcode, der das Problem zeigt:

$().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);
  });
});

Sie können das Beispiel online ausführen .

EDIT 2

Vielen Dank an Darin für seine Hilfe bei diesem Projekt. DER OBIGE CODE IST FALSCH. Verwenden Sie stattdessen dies:

$().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...
  });
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X