web-dev-qa-db-fra.com

Aucun en-tête 'Access-Control-Allow-Origin' n'est présent. Angular 7 and express

J'exécute un serveur avec le port exprès au port 3000 et un client avec un angle 7 au port 4200. Une fois que je fais une demande, je rencontre un problème avec CORS.

Accès à XMLHttpRequest à ' http: // localhost: 3000/drug ' from Origin ' http: // localhost: 4200 ' a été bloqué par la politique CORS: Non 'Accès-Contrôle-Autoriser-Origine 'header est présent sur la ressource demandée.

J'ai essayé toutes les solutions en ligne, telles que l'utilisation du package cors, et la configuration du middleware avant le routeur, comme indiqué ci-dessous ( Angular 6 - Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée ). Mais il n'est toujours pas résolu et continue à recevoir les mêmes erreurs. Quelqu'un a-t-il le même problème que CORS ne soit pas résolu avec toutes les solutions? Pourrais-tu m'aider s'il te plaît? 

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
  res.header(
    "Access-Control-Allow-Header",
    "Origin, X-Requested-With, Content-Type, Accept"
  );
  next();
});

app.use((req, res, next) => {
      res.header("Access-Control-Allow-Origin", "http://localhost:4200");
      res.header("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
      res.header(
        "Access-Control-Allow-Header",
        "Origin, X-Requested-With, Content-Type, Accept"
      );
      next();
    });
1
Anna Lee

Placez cette ligne de code app.use(cors()); avant le code de routage. (En supposant que vous ayez installé le paquet cors).

3
Nilay Patel