相关疑难解决方法(0)

CORS 策略已阻止从源“localhost:3000”访问“...”处的 XMLHttpRequest

这可能是重复的,但我还没有找到专门与我的问题相关的线程。

我正在进行以下 API 调用:

const config = {
  headers: {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Methods": "GET,PUT,POST,DELETE,PATCH,OPTIONS"
  }
};

const {
  data: { ip }
} = await axios.get("https://api.ipify.org?format=json", config);
Run Code Online (Sandbox Code Playgroud)

这会引发错误:

Access to XMLHttpRequest at 'https://api.ipify.org/?format=json' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

当我将我的应用程序部署到 Heroku 时,API 调用按预期工作。但是在我的本地机器上开发时它不起作用。不确定我在这里缺少什么。

cors reactjs axios

29
推荐指数
6
解决办法
12万
查看次数

使用Windows身份验证的Asp.net核心web api - Cors请求未经授权

在我的asp.net核心web api中,我根据MS文档中的文章配置了Cors .web api应用程序正在使用Windows身份验证(未启用匿名身份验证).创建了Cor的策略,并在下面添加了中间件startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(options =>
    {
        options.AddPolicy("CorsPolicy",
            builder => builder.WithOrigins("http://localhost:4200")
                .AllowAnyMethod()
                .AllowAnyHeader()
                .AllowCredentials()
            );
    });

    services.AddMvc().AddJsonOptions(options => {
        options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
    });
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{         
    //Enable CORS policy 
    app.UseCors("CorsPolicy");
    app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)

还应用了每个控制器级别的策略

[EnableCors("CorsPolicy"), Route("api/[controller]")]
public class LocationController : BaseController<Location>
{
  //code
}
Run Code Online (Sandbox Code Playgroud)

选项请求未获授权.请求和响应看起来像

在此输入图像描述

我已经看到了类似的问题并尝试了几乎所有解决方案,但选项请求仍然失败.

c# rest asp.net-web-api2 .net-core

10
推荐指数
2
解决办法
4196
查看次数

标签 统计

.net-core ×1

asp.net-web-api2 ×1

axios ×1

c# ×1

cors ×1

reactjs ×1

rest ×1