6
respostas

Requisição cross-origin bloqueada

estou tendo problemas com a requisição Ajax, retorna o erro abaixo:

Requisição cross-origin bloqueada: A política de mesma origem (Same Origin Policy) impede a leitura do recurso remoto em http://localhost:3000/frases. (Motivo: o cabeçalho CORS 'Access-Control-Allow-Origin' não está presente).

6 respostas

Oi Ciomara, tudo bem? O Same Origin Policy, é uma politica que restringe o uso de ajax para endereços diferentes do dominio da aplicação, nesse endereço, não é permitico troca de protocolo ou porta. Porém, há formas de se resolver isso. O Cabeçalho CORS é uma das formas (acho que a mais usada até). Mas pra gente ver como resolver, mostra pra gente como você está fazendo essa requisição e como a resposta está sendo devolvida (no caso o código do servidor). Pode ser?

Na pasta do servidor tem uma pasta chamada "config", entre nela e edite o arquivo "express", descomente o código abaixo (ele está comentando e nega requisições que não venham do mesmo domínio)

 app.use(function(req, res, next) {
     res.header("Access-Control-Allow-Origin", "*");
     res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
     next();
 });

Ciomara, dá uma olhada na solução do Marcelo e dá pra gente um retorno aqui por favor?

A solução do Marcelo funcionou galera. Mas temos que lembrar de finalizar o servidor/node que esta rodando a nossa aplicação da pasta "servidor" para as alterações no arquivo express.js serem lidas.

Com o prompt que ja deve estar aberto, usei CTRL+C no prompt para finalizar o processo que foi aberto pelo comando "npm start" que vimos anteriormente.

Após isso, digitei um "npm start" novamente, então o servidor foi carregado. Agora as requisições estão retornando as frases do servidor! :)

Ainda estou com mesmo problema. Startei o npm no servidor e nada e continua dando esse erro aq:

Requisição cross-origin bloqueada: A política de mesma origem (Same Origin Policy) impede a leitura do recurso remoto em http://localhost:3000/frases. (Motivo: o cabeçalho CORS 'Access-Control-Allow-Origin' não está presente).

Pedro, você usou a solução do Marcelo?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software