0

经过测试Postman并且工作正常。在浏览器中我得到这个错误:

从源“https://localhost:44426”访问“http://localhost:5081/api/Accounting/GetSales”的 XMLHttpRequest 已被 CORS 策略阻止:不存在“Access-Control-Allow-Origin”标头在请求的资源上。

带有 Angular 和 .Net6 的 Asp Net Core 项目

[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;
        }
4

1 回答 1

1

注册中间件时是否有正确的条目? https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-6.0

您将需要添加 localhost 和端口号。我相信端口号目前正在导致问题。如果两个站点都在同一个端口号上,您可能不会遇到此问题。另外,请参阅同一域上的 CORS 错误的答案。 同一域上的CORS错误?

此外,您希望启用 CORS 而不是禁用它。CORS 放宽了安全措施,因此您的代码可以跨端口访问。

于 2022-01-04T21:45:49.460 回答