实际上,这不是 重复的
帖子,我知道在stackoverflow社区中多次问过的标题的一部分,我阅读了所有帖子和答案,但是我认为我使用的问题和技术是不同的。
首先,我应该提到的ASP.NET Core WEB/API
是我的后端应用程序,Reactjs
也是我的前端应用程序。
我读了一下CORS
,发现必须CORS
在ASP.NET
App 'Access-Control-Allow-Origin':'*'
上启用并放入
请求的标头,但是在调用api时仍然出现以下错误:
所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源’ http://
localhost:8080
‘。该响应的HTTP状态代码为500。如果不透明响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。
这是我的Startup.cs
代码与CORS
:
public void ConfigureServices(IServiceCollection services)
{
// other lines of code
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("AllowAll"));
});
// other lines of code
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
app.UseCors("AllowAll");
app.UseAuthentication();
app.UseMvc();
}
这是我的反应代码:
function save(message) {
const requestOptions = {
method: 'POST',
mode: 'cors',
headers: { ...authHeader(),
'Content-Type': 'application/json',
'Access-Control-Allow-Origin':'*',
},
body: JSON.stringify(message)
};
return fetch(config.apiUrl + '/message/save', requestOptions).then(handleResponse, handleError);
}
感谢您的回复。
经过两天的苦难,终于我找到了解决问题的方法。实际上,您的评论之一对我来说是一个很好的线索。
@ kirk-larkin说:
响应的HTTP状态代码500是此处的关键。当您的ASP.NET Core项目中存在异常时,将清除CORS标头。您应该尝试找出为什么引发异常。
我追踪了我的代码很多次,然后发现我忘记在Startup.cs中注册我的控制器中使用的服务。
我在Startup.cs中调用了以下代码,问题得以解决。
services.AddScoped<IMessageService, MessageService>();
问题内容: 我有一个在服务器上运行的API,并且有一个与之连接的前端客户端来检索数据。我对跨域问题进行了一些研究,并使其起作用。但是我不确定发生了什么变化。我现在在控制台中收到此错误: XMLHttpRequest无法加载https://api.mydomain/api/status。所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源“ http
我需要发送数据通过从JavaScript到Python服务器。因为我在使用localhost,所以我需要使用CORS。我正在使用Flask框架及其模块。 作为JavaScript,我有以下几点: 和Python代码: 但是当我执行它时,我会得到这样的信息: XMLHttpRequest无法加载localhost:5000/signin.请求的资源上不存在访问控制允许起源标头。因此,不允许访问源'n
我在区域中有一个S3 bucket,我们称之为。 在那个桶中有一个图片,我们称之为。 如果我通过浏览器访问这两个URL,我就可以检索那个图片(桶中的所有对象都是公共的)(请记住,这些是示例,而不是现实生活中的URL): https://my-bucket.s3.amazonaws.com/some-file.jpg https://s3-eu-west-1.amazonaws.com/my-buc
我打关键斗篷apihttp://localhost:8080/auth/realms/**/协议/openid-connect/令牌与正确的凭据,它的工作正常,但与错误的凭据 当我添加跨域允许时,它会给我印前检查错误 任何人都可以帮我:)PS:使用CORS插件一切正常
问题内容: 我是django的新手,并将其用作创建用户的应用程序的后端。在前端发布用户名的代码是: 在后端,与url相关的功能处理json,但我收到错误消息“请求的资源上没有’Access-Control-Allow-Origin’标头。 问题答案: 你的前端和后端位于不同的端口上,这意味着你的ajax请求受跨源安全性的约束。 你需要设置后端以接受来自不同来源(或只是不同端口号)的请求。
问题内容: 我需要通过JavaScript 将数据发送到Python服务器。因为我使用的是localhost,所以我需要使用CORS。我正在使用Flask框架及其模块。 作为JavaScript,我有这个: 和Python代码: 但是当我执行它时,我收到以下消息: 我该如何解决?我知道我需要使用一些“ Access-Control-Allow-Origin”标头,但我不知道如何在此代码中实现它。顺