50 Stimmen

"Origin null wird von Access-Control-Allow-Origin" in Chrome nicht zugelassen. Warum?

Ich arbeite an einem Javascript, das lokal auf meinem PC laufen soll. Ich bin mit einem jQuery CSV-Plugin (http://plugins.jquery.com/project/csv) zum Laden einer CSV-Datei in Javascript-Arrays. Das Skript ist einfach:

$(function(){
 $.get("file.csv", function(data){
  stuff = $.csv()(data);
 })
})

In Firefox funktioniert es gut, aber in Chrome heißt es "Origin null is not allowed by Access-Control-Allow-Origin". Was hat das zu bedeuten? Ich finde alle Arten von Threads über Cross-Server-Zeug im Zusammenhang mit diesem Fehler, aber ich bin nur mit lokalen Dateien arbeiten.

89voto

Pointy Punkte 387467

Chrome glaubt nicht, dass es eine gemeinsame Beziehung zwischen zwei lokalen Dateien gibt.

Sie können es mit der Option "--allow-file-access-from-files" starten, um ihm mitzuteilen, dass Sie damit nicht einverstanden sind.

Vielen Dank an den Aszendentenmeister Nick Craver für diese Information, als ich vor einiger Zeit im Wesentlichen die gleiche Frage stellte.

17voto

WebSeed Punkte 1637

Wenn Sie Mac OS X verwenden, öffnen Sie das Terminal, cd zu Ihrem Web Root und führen Sie es aus:

python -m SimpleHTTPServer

Öffnen Sie dann die folgende URL in Chrome (oder einem anderen Webbrowser):

http://0.0.0.0:8000

2voto

Cu7l4ss Punkte 546

Aus irgendeinem unklaren Grund ist es wie bei Cross-Domain (jeder Browser verhält sich in dieser Hinsicht ein wenig anders, Sie könnten sogar den IE ausprobieren und die Ergebnisse sehen). Sie sollten versuchen, es über einen Webserver laufen zu lassen und ihm einen absoluten Pfad zu geben, da das Javascript lokal läuft.

-1voto

Madhukarah Punkte 89

Sie können versuchen, es auf Ihrem Apache-Webserver auszuführen. Es wird funktionieren.

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