1
resposta

Falha no Cadastro - Falha na requisição CORS

Olá,

Por favor, poderiam me ajudar com esta falha? Olhei as perguntas similares aqui do forum, porém nao identifiquei como corrigir.

Eu, assim como alguns alunos, estou usando um servidor remoto e pelo o que entendi, essa falha ocorre conforme já descrito aqui:

https://www.alura.com.br/artigos/como-resolver-erro-de-cross-origin-resource-sharing

Porém sinceramente, não entendi muito bem como corrigir e o erro persiste.

Pequisando na net, segui o exemplo de instalar o cors e add umas linhas no server.js

const cors = require("cors")

server.use(cors({
    origin: '*',
    methods: ['GET', 'HEAD', 'PATCH', 'POST', 'PUT', 'DELETE'],
    allowedHeaders: ['Content-Type', 'Authorization']

o BE até inicia, mas quando vou fazer o cadastro, o erro continua.

Alguém pode me dar uma luz?

1 resposta

Olá, Elder!

Você está no caminho certo ao instalar e configurar o middleware cors no seu servidor. No entanto, pode haver alguns detalhes que estão faltando ou que precisam ser ajustados. Vamos revisar e ajustar o seu código.

Primeiro, certifique-se de que você está importando e utilizando o cors corretamente no seu server.js. Aqui está um exemplo completo de como deve ficar:

const express = require('express');
const cors = require('cors');
const server = express();

// Configurações do CORS
server.use(cors({
    origin: '*', // Ou especifique os domínios permitidos, por exemplo: 'http://meusite.com'
    methods: ['GET', 'HEAD', 'PATCH', 'POST', 'PUT', 'DELETE'],
    allowedHeaders: ['Content-Type', 'Authorization']
}));

// Outras configurações e rotas do servidor
server.use(express.json());

server.get('/', (req, res) => {
    res.send('Hello World!');
});

server.listen(3000, () => {
    console.log('Servidor rodando na porta 3000');
});

Algumas dicas adicionais:

  1. Verifique a Ordem dos Middlewares: Certifique-se de que server.use(cors(...)) está sendo chamado antes de qualquer rota ou outro middleware.
  2. Especificar Origens: Embora origin: '*' permita qualquer origem, pode ser mais seguro especificar os domínios que você deseja permitir, especialmente em um ambiente de produção.
  3. Erros de Configuração no Frontend: Às vezes, o problema pode estar no frontend. Verifique se você está fazendo a requisição corretamente e se o endpoint está correto.

Se ainda assim o problema persistir, pode ser útil verificar os logs do navegador para ver se há mais detalhes sobre o erro de CORS. Às vezes, a mensagem de erro pode fornecer pistas adicionais sobre o que está errado.

Bons estudos!