首页 > 解决方案 > 处理 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>

我可以在前端应用程序中解析它,但我想知道是否有办法发送更简单的错误,比如带有代码和消息的对象。

谢谢!

标签: node.jsexpresscors

解决方案


正如 Zain 指出的那样,这个问题已经被问到了(对不起,我似乎没有在谷歌中找到正确的搜索)。

干杯,


推荐阅读