Maison >interface Web >js tutoriel >Comment résoudre les erreurs CORS dans Node.js avec Express ?

Comment résoudre les erreurs CORS dans Node.js avec Express ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-28 01:00:14856parcourir

How to Solve CORS Errors in Node.js with Express?

Comment activer CORS Node.js avec Express

Description du problème

Cross-Origin Des erreurs de partage de ressources (CORS) se produisent lorsqu'une application exécutée sur une origine différente tente d'accéder aux ressources d'un serveur sur une origine différente. Lors de l'utilisation de cornerstone.js pour récupérer des fichiers DICOM à partir d'un service WADO, cette erreur peut survenir en raison d'une incompatibilité de port entre le service DICOM (exécuté sur le port 8080) et l'application client (exécutée sur le port 3000).

Solution

Pour activer CORS dans les applications Node.js à l'aide d'Express, suivez ces étapes :

1. Installez le middleware CORS :

npm install cors --save

2. Ajoutez un middleware CORS à l'application Express :

Importez des modules Cors et Express, créez une application Express et activez CORS globalement à l'aide de la méthode use().

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

app.use(cors());

Notes supplémentaires :

  • Le middleware cors() ajoute les en-têtes suivants à tous réponses :

    • Access-Control-Allow-Origin : * (autorisant les requêtes de n'importe quelle origine)
    • Access-Control-Allow-Headers : Content-Type,Authorization (autorisant certains en-têtes dans les requêtes)
    • Access-Control-Allow-Methods : GET,POST,PUT,PATCH,DELETE,OPTIONS (autorisant certaines méthodes HTTP)
  • Cette solution autorise CORS pour toutes les requêtes vers l'application Express, y compris le port 8080 où sont récupérés les fichiers DICOM.
  • Si vous avez besoin un contrôle plus granulaire sur les paramètres CORS, vous pouvez transmettre des options au middleware cors(). Reportez-vous à la documentation du package cors npm pour plus de détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn