我有一个代码正在利用 CORS 来获取字体、图像等内容,但我团队中的某人修改了代码,所有使用
fetch()
的请愿书都停止工作。它看起来是这样的:
app.use(cors({
origin: function (origin, callback) {
if (!origin) return callback(null, true);
if (whiteList.indexOf(origin) === -1) {
var msg = 'Acceso Denied.';
return callback(new Error(msg), false);
}
return callback(null, true);
}
}));
我通过简单地评论 CORS 声明解决了这个问题,而是直接做了
app.use(cors());
。
我没有编写这段代码,所以虽然问题已经解决,但我想知道是什么导致请愿书停止工作和/或 origin 属性上的函数有什么问题。
任何见解表示赞赏:)
我刚刚意识到缺少的一件事是来自
whiteList
的源(在本例中为“localhost:3000”,显然端口是一个变量),所以一旦我添加了源,它就工作得很好。
所以基本上
if (whiteList.indexOf(origin) === -1)
试图找到原点,但它没有添加到 whiteList
上,所以它只是继续发送错误:return callback(new Error(msg), false);
。