.net core No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2024-01-17 15:19:33 浏览: 105
在.NET Core中,当你在客户端发起跨域请求时,可能会遇到"No 'Access-Control-Allow-Origin' header is present on the requested resource"的错误。这是由于浏览器的同源策略所导致的安全限制。
为了解决这个问题,你可以在你的.NET Core API中添加CORS(跨域资源共享)配置。CORS配置允许你指定哪些域名或URL可以访问你的API。
以下是一个示例,演示如何.NET Core中配置CORS:
1. 首先,在你的API项目中打开`Startup.cs`文件。
2. 在`ConfigureServices`方法中,添加以下代码来配置CORS:
```csharp
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowOrigin", builder =>
{
builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
});
// 其他服务配置...
}
```
上述代码中,我们创建了一个名为"AllowOrigin"的CORS策略,允许任何来源的请求,任何HTTP方法和任何请求头。
3. 在`Configure`方法中,添加以下代码来启用CORS:
```csharp
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 其他中间件配置...
app.UseCors("AllowOrigin");
// 其他配置...
}
```
上述代码中,我们使用了之前定义的"AllowOrigin"策略来启用CORS。
通过以上配置,你的.NET Core API应该可以处理跨域请求,并在响应中包含"Access-Control-Allow-Origin"头,从而解决"No 'Access-Control-Allow-Origin' header is present on the requested resource"的问题。
阅读全文