首页 >web前端 >js教程 >如何为与不同端口通信的 Node.js Express 服务器启用 CORS?

如何为与不同端口通信的 Node.js Express 服务器启用 CORS?

Susan Sarandon
Susan Sarandon原创
2024-11-28 05:48:13844浏览

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

为不同端口的 Node.js Express Server 启用 CORS

后台

跨域资源共享 (CORS)允许 Web 应用程序安全地向其他网站上的资源发出请求。当使用 Node.js Express 服务器与运行在不同端口上的另一个 API 进行通信时,需要启用 CORS 以避免跨域错误。

使用 Express 启用 CORS

要在 Express 中启用 CORS,请安装 cors 包:

npm install cors --save

导入 cors 包和 Express module:

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

初始化 Express 应用:

const app = express();

使用 cors 中间件为所有请求启用 CORS:

app.use(cors());

配置 CORS对于特定路线

如果您只想启用 CORS对于特定路由,请使用以下语法:

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

示例

在提供的示例中,您希望在 dcm4chee 运行的端口 8080 上启用 CORS。为此,假设您的 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');
});

要为端口 8080 上的 /request-from-browser 路由启用 CORS,请在路由代码之前添加以下中间件:

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

这将为端口上向 /request-from-browser 发出的请求启用 CORS 8080.

以上是如何为与不同端口通信的 Node.js Express 服务器启用 CORS?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn