📜  如何处理 Express Node.js 项目中的 CORS 错误?(1)

📅  最后修改于: 2023-12-03 15:38:42.607000             🧑  作者: Mango

如何处理 Express Node.js 项目中的 CORS 错误?

什么是 CORS?

CORS(Cross-Origin Resource Sharing)是一种安全策略,用于限制跨域访问网站资源(如跨域 Ajax 和 Cookie)。跨域指的是在浏览器中,一个页面从一个域名向另一个域名发起 Ajax 请求。

为什么会出现 CORS 错误?

当我们在一个域名的网页中请求另一个域名的资源时,浏览器会发出 CORS 请求。若响应头中不包含适当的 CORS 头信息,浏览器便会报错。

如何解决 CORS 错误?
方案一:设置 Access-Control-Allow-Origin 头

在请求发出的服务端中,添加以下代码:

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});
方案二:使用 cors 模块

安装 cors 模块:npm install cors --save

在服务端中引入 cors 模块,添加以下代码:

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

const app = express();

app.use(cors());

这样就可以解决跨域请求问题。

总结

CORS 错误可通过设置响应头信息或使用 cors 模块来解决。相比而言,使用 cors 模块更为简单和高效。