我有错误
CORS策略已阻止从源"http://localhost:3000"在"http://localhost:5000/admin/authenticate"提取数据的访问权限:请求的资源上不存在"Access-Control-Allow-Origin"标头。如果不透明响应满足您的需要,请将请求的模式设置为"no-cors"以在禁用CORS的情况下提取资源。
我的ApiManager
function login(username, password) {
const requestOptions = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*' },
body: JSON.stringify({ username, password })};
return fetch(`http://localhost:5000/admin/authenticate`, requestOptions)
.then(handleResponse)
.then(user => {
// store user details and jwt token in local storage to keep user logged in between page refreshes
localStorage.setItem('user', JSON.stringify(user));
return user;
}
);
}
在后端ASP.NET核心2.2(Startup.cs)中,我写道:
services.AddCors(options =>
{
options.AddPolicy(
_corsName,
builder => { builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader().AllowCredentials(); });}
);
7条答案
按热度按时间iezvtpos1#
我尝试anerco的答案,但它不为我工作,我发现这个article,它有一个非常相似的解决方案,但与
.SetIsOriginAllowed(origin => true)
添加和.AllowAnyOrigin()
删除.因此,您应该将以下代码添加到startup类的Configure方法中:
我建议阅读这篇文章,以获得更好的理解这一切,它非常简短,直奔主题。
ki1q1bka2#
嗨,我是这个主题的新手,但是因为我上周遇到了这个错误,所以我尝试启用选项方法,第一部分解决了。这个错误是由于策略和安全问题而发生的,但是现在我建议你获取状态代码,在我的情况下,它是405错误,这意味着现在我们必须更改请求中的标题,以允许所有方法和来源(没有办法),但它没有帮助我解决问题。
所以我发现我已经在我的API应用程序中启用了cookie加密和会话(广泛的点),因此我禁用了它们,并清除了浏览器cookie以及。
因此,请尝试使用以下方法:
1.清除您的Cookie并通过Mod Header扩展名添加
Access-Control-Allow-Origin': '*'
,然后重试检查修复。mod header-your header (client)1.尝试使用一个中间接口来控制您的请求,并引导他们进入特殊规则
根据该网站:https://medium.com/@dtkatz/3-ways-to-fix-the-cors-error-and-how-access-control-allow-origin-works-d97d55946d9
knpiaxh13#
试试这个:
0mkxixxg4#
FOR NODE EXPRESS GRAPHQL RESTAPI*添加此标头中间件以避免CORS和任何POST或OPTIONS错误 *
holgip5t5#
如果您的服务器基于express.js,请将以下行添加到服务器:
bhmjp9jg6#
在我的例子中,我试图从存储在API上的图像中创建一个blob(服务器),因此URL指向该资源,在该API的
program.cs
类中,我已经有了一个CORS策略,但我得到了您所说的确切错误。(阅读您看到的第一段)关于这个问题,据说如果您想访问服务器上的资源,请使用JavaScript(这是我试图做的),那么您必须将app.UseCors();
之前称为app.UseStaticFiles();
,这通常是相反的。我的
program.cs
:pwuypxnk7#
Chrome中有一个错误已经影响用户多年了,它可以被发现here。
您可以使用Chrome浏览器扩展名Allow-Control-Allow-Origin:* 在此找到:第一个月
或者,您可以使用
http://lacolhost.com/
,它127.0.0.1像localhost一样指向www.example.com。