Nancy在500错误时返回CORS错误

时间:2017-04-05 10:06:38

标签: .net cors nancy

我使用Nancy运行了一个.NET应用程序。我可以通过react应用程序从API端点成功获取数据,但如果出现服务器端错误,则会出现CORS错误。

我在Postman中没有收到CORS错误,尽管在我输入CORS代码之前我从来没有做过。

Cors Extension

    public static void UseCors(this IPipelines pipelines)
    {
        pipelines.AfterRequest.AddItemToEndOfPipeline(ctx => ctx.Response
            .WithHeader("Access-Control-Allow-Origin", "*")
            .WithHeader("Access-Control-Allow-Methods", "GET,POST,DELETE,PUT,OPTIONS")
            .WithHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-Type"));
    }

引导程序

    protected override void RequestStartup(TinyIoCContainer container, IPipelines pipelines, NancyContext context)
    {
        pipelines.UseCors();
        pipelines.UseErrorResponses();

        base.RequestStartup(container, pipelines, context);
    }

我在Google Chrome控制台中收到的错误是:

  

Fetch API无法加载http://localhost:62187/shops/v1/orders。 No' Access-Control-Allow-Origin'标头出现在请求的资源上。起源' http://localhost:3000'因此不允许访问。响应的HTTP状态代码为500.如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”。在禁用CORS的情况下获取资源。

我尝试将CORS标头添加到OnError管道,但它似乎没有改变任何内容。

0 个答案:

没有答案