Javascript 已被CORS策略阻止:对飞行前请求的响应不';t通过访问控制检查:否';访问控制允许源

Javascript 已被CORS策略阻止:对飞行前请求的响应不';t通过访问控制检查:否';访问控制允许源,javascript,node.js,Javascript,Node.js,我正在从本地运行我的Vue应用程序,不断收到大量CORS错误,我添加了Access Control Allow Origin标头,如图所示,但不断收到以下警告: “来自来源”已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源 const graphCall = () => { let tokenOptions = { method:

我正在从本地运行我的Vue应用程序,不断收到大量CORS错误,我添加了Access Control Allow Origin标头,如图所示,但不断收到以下警告:

“来自来源”已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源

const graphCall = () => {

  let tokenOptions = {
    method: 'POST',
    uri: 'https://login.microsoftonline.com/**key**/oauth2/v2.0/token',
    headers: {
      'Access-Control-Allow-Origin': 'http://localhost:8080',
      'contentType': 'application/x-www-form-urlencoded'
    },

    form: {
      grant_type: VUE_APP_GRANT_TYPE,
      client_secret: VUE_APP_CLIENT_SECRET,
      scope: VUE_APP_SCOPE,
      client_id: VUE_APP_CLIENT_ID
    }

  };

  return rp(tokenOptions)
    .then(data => {

      console.log(data)


    }).catch((err) => {

      console.log(err);

    });
};

我尝试添加mode:“no cors”,但只得到以下结果-错误:opts.mode的值无效

我还尝试使用“*”作为访问控制源,但没有效果


有没有办法通过这个CORS噩梦,因为我们需要打这个电话来找回一把钥匙

在这种情况下,服务器必须允许您的来源。通常在与提供者交互的场景中,在创建令牌的管理门户中,还必须指定要从中调用令牌的域

如果不是这种情况,您可能会触发CORS,因为您使用的标题不在CORS安全列表中。

Access Control Allow Origin
通常是服务器在响应时提供的头,并不意味着在请求时发送

下面的链接帮助我更好地理解CORS。


请注意,允许使用
*
的源代码对于开发很好,但不建议用于生产应用程序。

停止放置响应标题(例如,
'Access-Control-Allow-origin':'http://localhost:8080“,
)在一个正在触发CORS预飞行(选项请求)的请求中删除它,看看这是否有帮助-阅读CORS,了解请求和响应之间的区别-还了解您不能告诉服务器授予您访问权限,它可以告诉您是否有访问权限-否则CORS(站点保护其资源)的全部意义将是等待。。。这是在节点中吗?你为什么要受CORS的约束@JaromandaX这就是让我困惑的地方,最初我尝试不使用ACAO,但出现以下错误:请求的资源上不存在“Access Control Allow Origin”(访问控制允许源代码)标头严重,nodejs不需要CORS标头-这是nodejs中的代码,而不是浏览器中的代码,对吗?@JaromandaX这是一个js文件,我正在将其导入Vue应用程序中的身份验证回调中。