Javascript CORS和No';访问控制允许原点';

Javascript CORS和No';访问控制允许原点';,javascript,node.js,express,routes,cors,Javascript,Node.js,Express,Routes,Cors,我想启用从服务器到外部数据的访问。 我有一个错误: No 'Access-Control-Allow-Origin' header is present on the requested resource 我已经看到了很多关于这个问题的答案,主要是禁用Chrome保护的不安全解决方案,但我希望保持这些参数处于激活状态。不过,如果只是为了资源,那也没关系 所以我发现,我认为“为单一路线启用CORS”部分可以满足我的需要 但我不知道在我的项目中,我应该在哪里编写这样的代码。它不能在index.ht

我想启用从服务器到外部数据的访问。 我有一个错误:

No 'Access-Control-Allow-Origin' header is present on the requested resource
我已经看到了很多关于这个问题的答案,主要是禁用Chrome保护的不安全解决方案,但我希望保持这些参数处于激活状态。不过,如果只是为了资源,那也没关系

所以我发现,我认为“为单一路线启用CORS”部分可以满足我的需要


但我不知道在我的项目中,我应该在哪里编写这样的代码。它不能在index.html中,因为它位于每次重新写入的“dist”文件夹中。因此,当我启动我的项目时,我在dist中写的东西将被删除。我需要创建一个新文件吗?新路线?如何做到这一点?

访问控制允许源站响应标题指示是否可以与给定源站的资源共享响应


要允许任何资源访问您的资源,您可以指定:

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https://developer.mozilla.org

要允许访问您的资源,您可以指定:

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https://developer.mozilla.org

以下是您可能正在寻找的PHP代码:

 header("Access-Control-Allow-Origin: *");


您可以在此页面上找到有关
访问控制允许源站
的更多信息:

访问控制允许源站响应标题指示是否可以与具有给定源站的资源共享响应


要允许任何资源访问您的资源,您可以指定:

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https://developer.mozilla.org

要允许访问您的资源,您可以指定:

Access-Control-Allow-Origin: *
Access-Control-Allow-Origin: https://developer.mozilla.org

以下是您可能正在寻找的PHP代码:

 header("Access-Control-Allow-Origin: *");

您可以在此页面上找到有关访问控制允许源站的更多信息:

您可以使用软件包轻松设置这些配置。简单的配置允许所有来源:

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

app.use(cors())
您可以只允许特定来源访问您的服务器:

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

var whitelist = ['http://example1.com', 'http://example2.com']
var corsOptions = {
  origin: function (origin, callback) {
    if (whitelist.indexOf(origin) !== -1) {
      callback(null, true)
    } else {
      callback(new Error('Not allowed by CORS'))
    }
  }
}

app.get('/products/:id', cors(corsOptions), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for a whitelisted domain.'})
})
您可以使用软件包轻松设置这些配置。简单的配置允许所有来源:

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

app.use(cors())
您可以只允许特定来源访问您的服务器:

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

var whitelist = ['http://example1.com', 'http://example2.com']
var corsOptions = {
  origin: function (origin, callback) {
    if (whitelist.indexOf(origin) !== -1) {
      callback(null, true)
    } else {
      callback(new Error('Not allowed by CORS'))
    }
  }
}

app.get('/products/:id', cors(corsOptions), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for a whitelisted domain.'})
})

这不需要使用包,只需要像这样设置一个中间件

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

如前所述,要限制对特定域的访问,请将
*
更改为
https://whateveryourdomainis.com
。如果您想允许访问多个域,那么按照@guijob所概述的方法进行操作

不需要使用包,只需像这样设置一个中间件即可

app.use((req, res, next) => {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

如前所述,要限制对特定域的访问,请将
*
更改为
https://whateveryourdomainis.com
。如果您想允许访问多个域,请按照@guijob概述的操作

使用“嗨”,谢谢,但我不想允许任何东西访问资源?你会在哪里写这些代码?我不使用php文件,只使用js。如果您使用的是Node.js,您应该尝试查看文档。这是我在10秒钟的谷歌搜索中发现的:嗨,谢谢,但我不想让任何东西访问资源?你会在哪里写这些代码?我不使用php文件,只使用js。如果您使用的是Node.js,您应该尝试查看文档。这就是我在10秒钟的谷歌搜索中发现的:好的,谢谢,这可能有用,但是我应该在哪里写这样的代码呢?我只使用javascript文件,我不确定它属于哪里……好的,谢谢,这可能有用,但我应该在哪里编写这样的代码?我只使用javascript文件,我不确定它属于哪里。。。