簡體   English   中英

.NET Core 中請求的資源上不存在“Access-Control-Allow-Origin”header

[英]No 'Access-Control-Allow-Origin' header is present on the requested resource in .NET Core

這是我的代碼:

    services.AddCors(options =>
    {
        options.AddPolicy("AppCORSPolicy", builder =>
        {
            builder.AllowAnyOrigin()
                .AllowAnyHeader()
                .AllowAnyMethod();
        });
    });
    
    ...

    app.UseCors("AppCORSPolicy");

如果我的客戶端與 api 在同一台主機上,它似乎工作正常。但是,當我將客戶端移動到不同的主機時,問題仍然存在。

我在瀏覽器中收到以下錯誤:

CORS 策略已阻止從來源“http://api.example.com”訪問 XMLHttpRequest 策略:對預檢請求的響應未通過訪問控制檢查:無“訪問控制” -Allow-Origin' header 出現在請求的資源上。

我檢查以確保我按照文檔的正確順序加載了東西。 似乎無法克服這個錯誤。

UseCors 和 UseHttpsRedirection 的順序應該和下面的代碼一樣。 它對我有用。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{

  ...
  app.UseCors("AppCORSPolicy");

  app.UseHttpsRedirection(); 
  ...
 }

我還找到了一篇關於為 API Calls for Your Angular CLI App 設置代理的好博客。

如果上述方法還沒有解決這個問題,可以參考下面鏈接中的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM