Maison >interface Web >js tutoriel >Comment activer CORS pour un serveur Node.js Express communiquant avec un autre port ?

Comment activer CORS pour un serveur Node.js Express communiquant avec un autre port ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-28 05:48:13860parcourir

How to Enable CORS for a Node.js Express Server Communicating with a Different Port?

Activation de CORS pour le serveur Node.js Express avec un port différent

Arrière-plan

Partage de ressources d'origine croisée (CORS) permet aux applications Web de faire des requêtes en toute sécurité vers des ressources sur d'autres sites Web. Lorsque vous utilisez le serveur Node.js Express pour communiquer avec une autre API exécutée sur un port différent, il est nécessaire d'activer CORS pour éviter les erreurs d'origine croisée.

Activer CORS avec Express

Pour activer CORS dans Express, installez le package cors :

npm install cors --save

Importez le package cors et Express module :

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

Initialisez l'application Express :

const app = express();

Utilisez le middleware cors pour activer CORS pour toutes les requêtes :

app.use(cors());

Configurez CORS pour des itinéraires spécifiques

Si vous souhaitez activer CORS uniquement pour des itinéraires spécifiques, utilisez ce qui suit syntaxe :

app.get('/products/:id', cors(), (req, res, next) => {
  res.json({ msg: 'This is CORS-enabled for a Single Route' });
});

Exemple

Dans l'exemple fourni, vous souhaitez activer CORS sur le port 8080, où dcm4chee s'exécute. Pour ce faire, supposons que vous disposez du code suivant dans votre application Node.js :

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

app.get('/request-from-browser', (req, res, next) => {
  // Your code to handle the request
});

app.listen(3000, () => {
  console.log('Node.js app listening on port 3000');
});

Pour activer CORS pour la route /request-from-browser sur le port 8080, ajoutez le middleware suivant avant le code de route :

app.use('/request-from-browser', cors());

Cela activera CORS pour les requêtes adressées à /request-from-browser sur le port 8080.

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