gpt4 book ai didi

node.js - 无法让 CORS 与 Restify 一起使用,所有预检选项均返回 405

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:06 24 4
gpt4 key购买 nike

此时我已经阅读了很多文章,并尝试了我能想到的几乎所有配置,以使 CORS 与 Restify 一起工作。我将 restify.CORS()restify.fullResponse() 以及其他所有组合一起使用。我也尝试过仅使用 cors lib (npm install cors) 但无济于事。我的应用程序如下所示:

/**
* Setup middlewares.
*/
server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(restify.cors());
server.use(restify.fullResponse());
server.use(morgan('dev'));

我还尝试添加选项处理:

server.opts('/\.*/', (req, res, next) => {
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, OPTIONS, DELETE');
res.send(204);
return next();
});

在每种情况下,我都会回复:

XMLHttpRequest cannot load http://localhost:3000/1.0.0/clients. Response to preflight 
request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is
present on the requested resource. Origin 'http://run.plnkr.co' is therefore not
allowed access. The response had HTTP status code 405.

有什么想法吗?这是 Restify 4.0.3 的情况。谢谢!

最佳答案

使用 CORS 的内置模块:

server.use(restify.CORS({
origins: ['*'],
credentials: false, // defaults to false
headers: [''] // sets expose-headers
}));

如果您实际添加 Access-Control-Allow-Origin header ,您的解决方案应该也能正常工作;-)

关于node.js - 无法让 CORS 与 Restify 一起使用,所有预检选项均返回 405,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34306514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com