node.js - 处理 Node 应用程序中的 CORS 错误
问题描述
我在 Node 应用程序中使用cors 模块来执行一些 CORS 检查。这是代码:
var corsOptions = {
credentials: true,
origin: function (origin, callback) {
if (config.get('CORS').whitelist.indexOf(origin) !== -1) {
logger.debug("ORIGIN ALLOWED: " + origin);
callback(null, true);
} else {
logger.debug("ORIGIN NOT ALLOWED BY CORS: " + origin);
callback(new Error('Not allowed by CORS'),false);
}
}
};
app.use(cors(corsOptions));
它按预期工作,但是当有一个禁止的请求时,错误作为一个完整的网页返回,因此很难从前端解析。这是返回错误的示例:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>Not allowed by CORS</h1>
<h2></h2>
<div>Error: Not allowed by CORS
at origin (/home/user/expapp/app.js:105:13)
...etc
</body>
</html>
我可以在前端应用程序中解析它,但我想知道是否有办法发送更简单的错误,比如带有代码和消息的对象。
谢谢!
解决方案
正如 Zain 指出的那样,这个问题已经被问到了(对不起,我似乎没有在谷歌中找到正确的搜索)。
干杯,
推荐阅读
- javascript - 使用 Rest API 和 Javascript 合并代码以绘制表格和移动文件
- rust - 如何安全地初始化“NonZeroU8”类型的常量?
- mysql - 在 VBA 中批量传输到 MySQL 的 EXCEL 记录数量
- javascript - Jquery 条件 (if) 语句
- azure - 在 bin 文件夹中发布 azure 函数的项目引用
- java - 创建类和对象的正确方法
- sql - SQL ALL 运算符什么也不做。它是干什么用的?
- java - 如何在不使用 Aspose 和安装 OpenOffice java 的情况下将 docx 转换为 doc,反之亦然
- python - 让while解析函数递归
- swift - 滚动时如何将选定的 UITableView 行固定到顶部或底部(因此它不会消失)