gpt4 book ai didi

javascript - Node Express CORS 请求

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:32 24 4
gpt4 key购买 nike

我有两个 nodejs 应用程序,服务器 1 运行 UI 代码,服务器 2 提供后端逻辑和 api 服务。我正在尝试从服务器 1 中的 UI 应用程序调用 $.post jquery 方法,该方法发布到服务器 2 中的 api,我遇到跨域限制错误,

我在UI Server(服务器1)的app.js和routes/index.js中添加了如下代码,没有白费。

app.js 文件

enter code here

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

routes/index.js 文件

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

我是 nodejs/express 的新手。

最佳答案

确保您的 Express 应用确实响应了 CORS OPTIONS 请求。浏览器在 POST 之前首先发送一个临时的 HTTP OPTIONS 请求。您的代码设置 header 但实际上并不发送响应。像这样的东西:

router.options('/my/post/path', function (req, res) {
console.log('Got CORS OPTIONS request for', req.originalUrl);
res.send();
});

但最终正如 mscdex 评论的那样,使用 npm 中的 cors 中间件库而不是自己编写代码。 (虽然自己编写代码作为学习练习很好)。

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

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