我有一个包含很多路由的 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/