javascript - Javascript 和 .NET Minimal API 中的 CORS 策略

标签 javascript .net api cors

我正在使用纯 javascript 请求 .NET 6 中的 Minimal API,但是当我在浏览器中打开它时,我收到以下消息:
CORS 策略已阻止从源“null”获取“https://localhost:7252/v1/todos”的访问权限:请求的资源上不存在“Access-Control-Allow-Origin” header 。不透明的响应满足您的需求,将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
我已经在 API 中添加了 CORS 配置,但它不起作用:

  • JavaScript 端点调用:

  • fetch('https://localhost:7252/v1/todos')
        .then(response => response.json()) ...
    
  • .NET API 程序配置

  • 
    builder.Services.AddCors(options => options.AddDefaultPolicy(builder => 
    { 
        builder.WithOrigins(
            "https://localhost:7252/v1/todos",
            "https://localhost:7252");
    }));
    
    app.UseCors();
    
    

    最佳答案

    你可能想稍微扩展一下

     app.UseCors(builder => builder
     .AllowAnyOrigin()
     .AllowAnyMethod()
     .AllowAnyHeader()
     .AllowCredentials());
    
    这里有一个完整的代码示例
    public class Startup
    {
    readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
    
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors(options =>
        {
            options.AddPolicy(name: MyAllowSpecificOrigins,
                              builder =>
                              {
                                  builder.WithOrigins("http://example.com",
                                                      "http://www.contoso.com");
                              });
        });
    
        // services.AddResponseCaching();
        services.AddControllers();
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseHttpsRedirection();
        app.UseStaticFiles();
        app.UseRouting();
    
        app.UseCors(MyAllowSpecificOrigins);
    
        // app.UseResponseCaching();
    
        app.UseAuthorization();
    
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
    }
    
    Asp Cors Sample

    关于javascript - Javascript 和 .NET Minimal API 中的 CORS 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69802631/

    相关文章:

    javascript - Web 3D GIS解决方案

    javascript - 更改动态生成的对话框的标题

    javascript - Jquery - 使用多个选择器或每个选择器更有效

    c# - .NET 中多次调用的 StringComparer.CurrentCultureIgnoreCase 效率

    php - Laravel 5 通过外部 API 验证用户

    javascript - 当我根据其他状态更新状态时,React 给出错误 "Too many re-renders. React limits the number of renders to prevent an infinite loop."

    c# - .Net 的 Rx : how to combine Scan with Throttle

    c# - 为什么 Direct2D 和 DirectWrite 不使用传统的 COM 对象?

    python - 如何通读 CSV 然后在 Python 中发布批量 API 调用

    api - 您曾经使用过的最好的API/框架/平台是什么?