Access-Control-Allow-Origin 不允许来源 http://localhost

2022-01-15 00:00:00 cors node.js javascript backbone.js

我正在尝试从backbone.js 获取到我的node.js 服务器.但是,我在控制台中收到以下错误:

I'm trying to do a fetch from backbone.js to my node.js server. However, I get the following error in the console:

Access-Control-Allow-Origin 不允许访问源 http://localhost.

我将以下内容添加到我的 node.js 服务器:

I added the following to my node.js server:

var allowCrossDomain = function(req, res, next) {
    res.header('Access-Control-Allow-Origin', "http://localhost");
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
    res.header('Access-Control-Allow-Headers', 'Content-Type');
};

app.configure(function() {
    app.use(allowCrossDomain);
});

但它仍然返回相同的错误.但是,即使这确实有效,它似乎也不是理想的解决方案,因为我希望来自世界各地的用户都能够发送请求.

But it's still returning the same error. However, even if this did work, it doesn't seem like the ideal solution, as I would like users from all over to be able to send requests.

推荐答案

如果你希望每个人都能访问 Node 应用,那么尝试使用

If you want everyone to be able to access the Node app, then try using

res.header('Access-Control-Allow-Origin', "*")

这将允许来自任何来源的请求.CORS enable 站点有很多关于不同的 Access-Control-Allow 标头以及如何使用它们的信息.

That will allow requests from any origin. The CORS enable site has a lot of information on the different Access-Control-Allow headers and how to use them.

我使用的是 Chrome,请查看 this 关于 localhost 和 Access-Control-Allow-Origin 的错误错误.还有另一个 StackOverflow 问题详细说明了这个问题.

I you are using Chrome, please look at this bug bug regarding localhost and Access-Control-Allow-Origin. There is another StackOverflow question here that details the issue.

相关文章