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