Reactjs 服务器上启用的CORS仍在接收标头错误
这似乎是一个非常流行的问题,但我一直未能找到一个有效的解决方案 简而言之,仅在Chrome中,我在发出put、patch、delete或options请求时收到以下错误 来自源“”已被CORS策略阻止:飞行前响应中的访问控制允许方法不允许使用方法修补程序 该调用在IE和Firefox中运行良好。通过邮递员和招摇也成功地工作 在我的API中,我有Reactjs 服务器上启用的CORS仍在接收标头错误,reactjs,google-chrome,.net-core,asp.net-core-webapi,Reactjs,Google Chrome,.net Core,Asp.net Core Webapi,这似乎是一个非常流行的问题,但我一直未能找到一个有效的解决方案 简而言之,仅在Chrome中,我在发出put、patch、delete或options请求时收到以下错误 来自源“”已被CORS策略阻止:飞行前响应中的访问控制允许方法不允许使用方法修补程序 该调用在IE和Firefox中运行良好。通过邮递员和招摇也成功地工作 在我的API中,我有 public IServiceProvider ConfigureServices(IServiceCollection services)
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddCors();
return configureMvcServices.ExecuteConfig();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseCors(options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
var configureApp = new ConfigureApp(app, env);
configureApp.DoConfig();
}
到目前为止,我也试过了
- 手动设置标题
- 在服务函数中创建策略,并在使用所述策略名称的控制器上使用allowcors属性
- 根据另一个答案创建自定义中间件,我似乎找不到设置标题和选项的答案
return fetch(url + path, {
method,
headers:{
'Accept': 'application/json',
'crossDomain':'true',
'Content-Type': 'application/json',
'Pragma': 'no-cache',
'Access-Control-Allow-Methods': '*'
},
body: JSON.stringify(data)
})
我不知道我可以在客户端设置什么标题,试图更改为纯文本,但如果有任何标题可以解决它,也没有效果,我已经用尽了我的谷歌fu
另外,GET和POST工作正常
任何帮助都将不胜感激。好吧,我无法解释为什么,但团队中的另一位开发人员设法解决了这个问题 简而言之,Chrome似乎不喜欢
AllowAnyMethod()
你必须详细说明每种方法
app.UseCors(options =>
options
.AllowAnyOrigin()
.AllowAnyHeader()
.WithMethods("POST", "GET", "PATCH", "PUT", "DELETE")
);
您是否使用postmanyep尝试过此操作?chrome有一个问题您不需要在请求中使用
'Access-Control-Allow-Methods':“*”
。这是服务器发送的响应头。crossDomain
也是你自己的标题吗?@SimplyGed哦,我知道我在尝试一切,至于crossDomain,那只是我在这类问题的另一个答案上看到的东西,所以我正在尝试