web-dev-qa-db-fra.com

"Origin null n'est pas autorisé par Access-Control-Allow-Origin" dans Chrome. Pourquoi?

Je travaille sur du Javascript pour l'exécuter localement sur mon PC. J'utilise un plugin jQuery CSV (http://plugins.jquery.com/project/csv) pour charger charger un fichier csv dans des tableaux javascript. Le script est simple:

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

Dans Firefox, cela fonctionne bien, mais dans Chrome il dit "Origin null n'est pas autorisé par Access-Control-Allow-Origin". Qu'est-ce que cela signifie? Je trouve toutes sortes de discussions sur les serveurs multiples des trucs liés à cette erreur mais je travaille juste avec des fichiers locaux.

50
Moss

Chrome ne pense pas qu'il existe une relation commune entre deux fichiers locaux.

Vous pouvez le démarrer avec l'option "--allow-file-access-from-files" pour lui dire que vous n'êtes pas d'accord.

Merci au maître ascendant Nick Craver pour cette info quand j'ai posé la même question il y a quelque temps.

88
Pointy

Si vous utilisez Mac OS X, ouvrez le Terminal, cd à votre racine Web et exécutez:

python -m SimpleHTTPServer

Ouvrez ensuite l'URL suivante dans Chrome (ou tout autre navigateur Web):

http://0.0.0.0:8000
17
WebSeed

C'est comme un domaine croisé pour une raison peu claire (chaque navigateur agit un peu différemment en ce qui concerne ce problème, vous pouvez même essayer IE et voir les résultats). Vous devriez essayer de l'exécuter via un serveur Web et lui donner un chemin absolu puisque le javascript s'exécute localement.

2
Cu7l4ss