node.js - Express.js 中的 CORS 和访问控制允许方法?

标签 node.js express cors

我有一个包含很多路由的 express 应用程序:

app.get('foo/bar', function(res, res, next) { ... });
app.post('foo/bar', function(res, res, next) { ... });
app.get('another/one/path', function(res, res, next) { ... }));

我需要向这个应用程序发送跨域 AJAX 请求。因此,我需要在 OPTIONS 请求上发送正确的 Access-Control-Allow-Methods。例如,如果请求是 OPTIONS 'foo/bar',则 Access-Control-Allow-Methods header 应等于 GET,POST。 我看到如果我在 Express 框架中发送 OPTIONS 请求,我已经在响应主体中获得了正确的方法列表。例如,如果我发送 OPTIONS 'foo/bar',我会收到正文 GET,POST 的响应。现在,我也想在 Access-Control-Allow-Methods header 中发送 GET,POST 。我试图找到一个简单的解决方案来做到这一点。我不想添加选项路由,因为我的应用程序中已经有超过 200 条路由。

最佳答案

最简单的解决方案是使用 cors npm 包。

var express = require('express')
  , cors = require('cors')
  , app = express();

app.use(cors());

关于node.js - Express.js 中的 CORS 和访问控制允许方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34103890/

相关文章:

node.js - 在 Node.js 中跟踪此错误消息的下一步是什么?

javascript - 无法读取 Jade 中未定义错误的属性

javascript - 格式错误的 XML : The XML you provided was not well-formed or did not validate against our published schema

node.js - 无法让 Next.js 应用程序在 Azure 应用服务上运行

angular - 405 Method Not Allowed and "CORS header ‘Access-Control-Allow-Origin’ missing“虽然tcpdump说它正在被发送出去

jquery - 跨源请求被阻止 : & Reason: CORS header 'Access-Control-Allow-Origin' missing

node.js - 哪个是与node.js(express.js)一起使用的最佳数据库

javascript - 提交不发布所有数据

javascript - 无法对回调函数进行分页

jquery - 是否可以对 application/json 进行跨域 POST ajax 请求?