后台
跨域资源共享 (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中文网其他相关文章!