javascript - Node 的 CORS 问题

标签 javascript node.js cors

所以我正在设置一个应用程序以允许跨域请求。一直在使用这篇文章中的各种方法How to enable cross-origin resource sharing (CORS) in the express.js framework on node.js

但是我收到一个错误,我似乎无法解决。这是我正在使用的(并不是我尝试了所列出的 3 种方法 - 它们都给出了相同的错误)。

 app.use(function(req, res, next){
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Headers', 'Content-Type');
  res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
  res.header('Access-Control-Allow-Headers', 'X-Requested-With');
  next();
})
.options('*', function(req, res, next){
    res.end();
});

这仍然给我一个错误:

XMLHttpRequest cannot load http://localhost:3000/blah. Request header field Content-Type is not allowed by Access-Control-Allow-Headers. 

如果我注释掉顶部代码,我会收到预期的不允许错误,这似乎表明该代码正在正确处理该请求。我还重新输入了内容类型请求,以确保我没有粘贴奇怪的字符。有什么线索吗?

最佳答案

您有两个 Access-Control-Allow-Headers header 。最后一个将获胜。

您可能需要一个 Access-Control-Allow-Headers header ,其值是逗号分隔的列表。

关于javascript - Node 的 CORS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869948/

相关文章:

JavaScript 不在数组中定义方法

regex - 使用正则表达式查找并获取特定单词

node.js - 如何从 npm 发布的模块中导入流注解、类型和接口(interface)

css - 在文件 :///in Firefox 68 上的 HTML 文件中使用 @font-face

javascript - CORS 飞行前返回 Access-Control-Allow-Origin :*, 浏览器仍然失败请求

javascript - 功能运行的次数多于需求的次数

javascript - 如何对齐 yii2 表单域中的文本框?

javascript - 如何在 Google Analytics 中对虚拟浏览量进行分类?

javascript - nodejs 在 2 个字符串之间更改多个字符串实例

web-services - 为所有资源启用 CORS 是否有任何负面影响?