'Access-Control-Allow-Origin' 在 ASP.NET 核心 6
'Access-Control-Allow-Origin' in ASP.NET Core 6
在 Postman
中测试并且工作正常。
在浏览器中我得到这个错误:
Access to XMLHttpRequest at
'http://localhost:5081/api/Accounting/GetSales' from origin
'https://localhost:44426' has been blocked by CORS policy: No
'Access-Control-Allow-Origin' header is present on the requested
resource.
Asp 网络核心项目 Angular 和 .Net6
[DisableCors]
[HttpGet("GetSales")]
public IEnumerable<SaleDto> GetSales()
{
var result = _context.Sales.Select(x => new SaleDto
{
AccountName = x.Account.Name,
CategoryName = x.Category.CategoryName,
SaleDate = x.SaleDate,
SaleId = x.SaleId,
SaleValue = x.SaleValue,
});
return result;
}
请问您注册中间件的入口是否正确?
https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0
您需要添加本地主机和端口号。我相信端口号目前正在导致问题。如果两个站点都在同一个端口号上,您可能不会遇到此问题。
另外,请参阅同一域上 CORS 错误的答案。
CORS error on same domain?
此外,您希望启用 CORS 而不是禁用它。 CORS 放宽了安全措施,因此您的代码可以跨端口访问。
在 Postman
中测试并且工作正常。
在浏览器中我得到这个错误:
Access to XMLHttpRequest at 'http://localhost:5081/api/Accounting/GetSales' from origin 'https://localhost:44426' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Asp 网络核心项目 Angular 和 .Net6
[DisableCors]
[HttpGet("GetSales")]
public IEnumerable<SaleDto> GetSales()
{
var result = _context.Sales.Select(x => new SaleDto
{
AccountName = x.Account.Name,
CategoryName = x.Category.CategoryName,
SaleDate = x.SaleDate,
SaleId = x.SaleId,
SaleValue = x.SaleValue,
});
return result;
}
请问您注册中间件的入口是否正确? https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0
您需要添加本地主机和端口号。我相信端口号目前正在导致问题。如果两个站点都在同一个端口号上,您可能不会遇到此问题。 另外,请参阅同一域上 CORS 错误的答案。 CORS error on same domain?
此外,您希望启用 CORS 而不是禁用它。 CORS 放宽了安全措施,因此您的代码可以跨端口访问。