Eu estou recebendo o seguinte erro:
XMLHttpRequest cannot load file:///C:/Users/richa.agiwal/Desktop/get/rm_Library/templates/template_viewSettings.html. Cross origin requests are only supported for HTTP.
Sei que essa pergunta já foi respondida antes, mas ainda não encontrei uma solução para o meu problema. Tentei executar a chrome.exe --allow-file-access-from-files
partir do prompt de comando e movi o arquivo para o sistema de arquivos local, mas continuo recebendo o mesmo erro.
Agradeço todas as sugestões!
security
google-chrome
xTMNTxRaphaelx
fonte
fonte
Respostas:
Se você estiver fazendo algo como escrever HTML e Javascript em um editor de código em seu computador pessoal e testar a saída em seu navegador, provavelmente receberá mensagens de erro sobre
Cross Origin Requests
. Seu navegador irá renderizar HTML e executar Javascript, jQuery, angularJs em seu navegador sem precisar de um servidor configurado. Mas muitos navegadores da web são programados para monitorar ataques entre sites e bloquearão solicitações. Você não quer que qualquer pessoa possa ler seu disco rígido no navegador da web. Você pode criar uma página da web totalmente funcional usando o Notepad ++ que executará Javascript e estruturas como jQuery e angularJs; e testar tudo apenas usando o item de menu Notepad ++,RUN, LAUNCH IN FIREFOX
. Essa é uma maneira fácil e agradável de começar a criar uma página da web, mas quando você começa a criar qualquer coisa mais do que layout, CSS e navegação de página simples, você precisa de um servidor local configurado em sua máquina.Aqui estão algumas opções que eu uso.
Teste no Firefox, implante no host
Execute um servidor local
Execute um servidor local com Python
Obtenha seu endereço IP:
Command Prompt
ASAdministrator
. Clique com o botão direito noCommand Prompt
item de menu e procureRun As Administrator
ipconfig
e pressione Enter.Se você não tiver o Python, baixe e instale-o.
Usando o 'Prompt de Comando' você deve ir até a pasta onde estão os arquivos que você deseja que sirvam de página da web.
python -m SimpleHTTPServer port
Onde 'porta' é o número da porta que você deseja, por exemplopython -m SimpleHTTPServer 1337
Execute seu aplicativo da Web localmente
http://your IP address:port
http://xxx.xxx.x.x:1337
ouhttp://xx.xxx.xxx.xx:8000
para o padrãoSoluções mais avançadas
Você pode instalar Apache, PHP, Python, SQL, Debuggers etc., todos separadamente em sua máquina, e então passar muito tempo tentando descobrir como fazer todos eles funcionarem juntos, ou procurar uma solução que combine todas essas coisas.
Gosto de usar o XAMPP com o NetBeans IDE. Você também pode instalar o WAMP, que fornece um recurso
User Interface
para gerenciar e integrar o Apache e outros serviços.fonte
Solução Simples
Se você estiver trabalhando com arquivos html / js / css puros.
Instale este pequeno aplicativo de servidor ( link ) no Chrome. Abra o aplicativo e aponte o local do arquivo para o diretório do projeto.
Vá para o url mostrado no aplicativo.
Editar: solução mais inteligente usando Gulp
Passo 1: Para instalar o Gulp. Execute o seguinte comando em seu terminal.
Etapa 2: dentro do diretório do projeto, crie um arquivo chamado gulpfile.js. Copie o seguinte conteúdo dentro dele.
Etapa 3: Instale o plug-in gulp de sincronização do navegador. Dentro do mesmo diretório onde gulpfile.js está presente, execute o seguinte comando
Etapa 4: inicie o servidor. Dentro do mesmo diretório onde gulpfile.js está presente, execute o seguinte comando
fonte
Este erro está acontecendo porque você está apenas abrindo documentos html diretamente do navegador. Para corrigir isso, você precisará servir seu código de um servidor da web e acessá-lo no localhost. Se você tiver o Apache configurado, use-o para servir seus arquivos. Alguns IDE têm servidores web integrados, como JetBrains IDE, Eclipse ...
Se você tiver o Node.Js configurado, poderá usar o servidor http . Basta executar
npm install http-server -g
e você poderá usá-lo em um terminal comohttp-server C:\location\to\app.
Kirill Fuchsfonte
Para adicionar à resposta elaborada de Alan Wells , aqui está uma solução rápida
Execute um servidor local
você pode servir qualquer pasta em seu computador com o Serve
Primeiro, navegue usando a linha de comando até a pasta que deseja servir.
Então
ou se você gostaria de testar o Serve baixando-o
e é isso! Você pode visualizar seus arquivos em http: // localhost: 5000
fonte
Eu estava enfrentando esse erro ao implantar meu projeto de API da Web localmente e estava chamando o projeto de API apenas com este URL fornecido abaixo:
localhost // myAPIProject
Como a mensagem de erro diz que não é http: //, mudei a URL e coloquei um prefixo http conforme fornecido abaixo e o erro desapareceu.
http: // localhost // myAPIProject
fonte
Se você usa o WebStorm Javascript IDE , pode simplesmente abrir seu projeto do WebStorm em seu navegador. O WebStorm iniciará automaticamente um servidor e você não receberá mais nenhum desses erros, porque agora está acessando os arquivos com os protocolos permitidos / suportados (HTTP).
fonte
Depende de suas necessidades, mas também há uma maneira rápida de verificar temporariamente seu JSON (fictício) salvando seu JSON em http://myjson.com . Copie o link da API e cole-o em seu código javascript. Viola! Quando você quiser implantar os códigos, não se esqueça de alterar essa url nos seus códigos!
fonte
Coloque a pasta do seu projeto nos htdocs do diretório Xampp Inicie o seu servidor Apache usando o painel de controle do xampp e abra um navegador goto localhost / projectfolder e comece a trabalhar
fonte