Je reçois l'erreur suivante:
XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross Origin requests are only supported for HTTP.
Je me rends compte que cette question a déjà reçu une réponse, mais je n'ai toujours pas trouvé de solution à mon problème. J'ai essayé d'exécuter chrome.exe --allow-file-access-from-files
à partir de la commande Invite et j'ai déplacé le fichier vers le système de fichiers local, mais j'obtiens toujours la même erreur.
J'apprécie toutes les suggestions!
Si vous écrivez du HTML et du Javascript dans un éditeur de code sur votre ordinateur personnel et testez la sortie dans votre navigateur, vous obtiendrez probablement des messages d'erreur concernant Cross Origin Requests
. Votre navigateur rendra le code HTML et exécutera Javascript, jQuery, angularJs dans votre navigateur sans qu'il soit nécessaire de configurer un serveur. Cependant, de nombreux navigateurs Web sont programmés pour surveiller les attaques entre sites et bloquent les demandes. Vous ne voulez pas que n'importe qui puisse lire votre disque dur à partir de votre navigateur Web. Vous pouvez créer une page Web entièrement fonctionnelle à l'aide de Notepad ++ qui exécutera Javascript et des cadres tels que jQuery et angularJs; et tout tester simplement en utilisant l'élément de menu Notepad ++, RUN, LAUNCH IN FIREFOX
. C’est un moyen simple et agréable de commencer à créer une page Web, mais lorsque vous commencez à créer autre chose que la présentation, les CSS et la navigation simple, vous avez besoin d’un serveur local configuré sur votre ordinateur.
Obtenez votre adresse IP:
Command Prompt
comme Administrator
. Faites un clic droit sur l'élément de menu Command Prompt
et cherchez Run As Administrator
ipconfig
et appuyez sur Entrée.Si vous n'avez pas Python, téléchargez-le et installez-le.
A l'aide de l'invite de commande, vous devez vous rendre dans le dossier contenant les fichiers que vous souhaitez utiliser comme page Web.
python -m SimpleHTTPServer port
où 'port' correspond au numéro du port souhaité, par exemple python -m SimpleHTTPServer 1337
.http://your IP address:port
http://xxx.xxx.x.x:1337
ou http://xx.xxx.xxx.xx:8000
pour la valeur par défautVous pouvez installer Apache, PHP, Python, SQL, Debuggers, etc. séparément sur votre ordinateur, puis passer beaucoup de temps à essayer de comprendre comment les faire fonctionner ensemble ou à rechercher une solution combinant tous ces éléments.
J'aime utiliser XAMPP avec NetBeans IDE. Vous pouvez également installer WAMP, qui fournit un User Interface
pour gérer et intégrer Apache et d’autres services.
Solution simple
Si vous travaillez avec des fichiers html/js/css purs.
Installez cette petite application serveur ( link ) en chrome. Ouvrez l'application et pointez l'emplacement du fichier sur le répertoire de votre projet.
Allez à l'URL affichée dans l'application.
Edit: Une solution plus intelligente utilisant Gulp
Étape 1: Pour installer Gulp. Exécutez la commande suivante dans votre terminal.
npm install gulp-cli -g
npm install gulp -D
Étape 2: Dans le répertoire de votre projet, créez un fichier nommé gulpfile.js. Copiez le contenu suivant à l'intérieur.
var gulp = require('gulp');
var bs = require('browser-sync').create();
gulp.task('serve', [], () => {
bs.init({
server: {
baseDir: "./",
},
port: 5000,
reloadOnRestart: true,
browser: "google chrome"
});
gulp.watch('./**/*', ['', bs.reload]);
});
Étape 3: Installez le plug-in de synchronisation du navigateur Sync gulp. Dans le même répertoire que gulpfile.js, exécutez la commande suivante
npm install browser-sync gulp --save-dev
Étape 4: Démarrez le serveur. Dans le même répertoire que gulpfile.js, exécutez la commande suivante
gulp serve
Cette erreur se produit car vous ouvrez simplement des documents HTML directement à partir du navigateur. Pour résoudre ce problème, vous devez servir votre code à partir d'un serveur Web et y accéder sur localhost. Si vous avez la configuration Apache, utilisez-la pour servir vos fichiers. Certains IDE ont des serveurs Web intégrés, comme les IDE JetBrains, Eclipse ...
Si vous avez configuré Node.Js, vous pouvez utiliser serveur_ HTTP . Lancez simplement npm install http-server -g
et vous pourrez l’utiliser dans un terminal comme http-server C:\location\to\app.
Kirill Fuchs
Je faisais face à cette erreur lorsque j'ai déployé mon projet d'API Web localement et que j'appelais un projet d'API uniquement avec l'URL indiquée ci-dessous:
localhost // myAPIProject
Étant donné que le message d'erreur indique qu'il ne s'agit pas de http: //, j'ai modifié l'URL et mis un préfixe http comme indiqué ci-dessous; l'erreur a disparu.
Cela dépend de vos besoins, mais il existe également un moyen rapide de vérifier temporairement votre JSON factice en enregistrant votre JSON sur http://myjson.com . Copiez le lien api et collez-le dans votre code javascript. Alto! Lorsque vous souhaitez déployer les codes, vous ne devez pas oublier de changer cette URL dans vos codes!
Si vous utilisez le WebStorm Javascript IDE , vous pouvez simplement ouvrir votre projet depuis WebStorm dans votre navigateur. WebStorm démarrera automatiquement un serveur et vous n'obtiendrez plus aucune de ces erreurs car vous accédez maintenant aux fichiers avec les protocoles autorisés/pris en charge (HTTP).
Pour ajouter à la réponse élaborée de Alan Wells , voici une solution rapide
vous pouvez servir n’importe quel dossier sur votre ordinateur avec Servir
Commencez par naviguer en utilisant la ligne de commande dans le dossier que vous souhaitez servir.
Ensuite
npx i -g serve
serve
ou si vous souhaitez tester Servir avec le téléchargement
npx serve
et c'est tout! Vous pouvez afficher vos fichiers sur http: // localhost: 50