CORS 扰乱了生产环境中的“获取”请求

问题描述 投票:0回答:1

我有一个代码正在利用 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 属性上的函数有什么问题。

任何见解表示赞赏:)

javascript express cors
1个回答
0
投票

我刚刚意识到缺少的一件事是来自

whiteList
的源(在本例中为“localhost:3000”,显然端口是一个变量),所以一旦我添加了源,它就工作得很好。

所以基本上

if (whiteList.indexOf(origin) === -1)
试图找到原点,但它没有添加到
whiteList
上,所以它只是继续发送错误:
return callback(new Error(msg), false);

© www.soinside.com 2019 - 2024. All rights reserved.