【问题标题】:Error detail not sent by server AspnetBoilerPlate服务器 AspnetBoilerPlate 未发送错误详细信息
【发布时间】:2018-04-03 14:46:35
【问题描述】:

enter image description here

在 Aspnet Boilerplate 中,Swagger-UI 在端口号 5000 上运行,角度需要端口号 21021。所以我面临问题。

我尝试在角度代码中更改端口号,但它显示了

对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。”。

所以请帮我解决我的问题

【问题讨论】:

  • 你想做什么?
  • 您使用哪个 asp.net 样板(asp.net MVC 或 asp.net core)?可能你需要从 web api 代码中启用 cors。

标签: asp.net angularjs angular asp.net-core aspnetboilerplate


【解决方案1】:

要解决Response to preflight request doesn't pass access control check 错误,您需要发回Access-Control-Allow-Origin 标头。

由于我不知道您正在运行哪个版本(MVC 或核心版本),我假设您使用的是 MVC 版本。

覆盖global.asax.cs中的Application_OnBeginRequest方法:

示例:

protected void Application_OnBeginRequest(object sender, EventArgs e)
{
    // Reading out response.
    var response = HttpContext.Current.Response;

    // Setting CORS headers.
    response.AppendHeader("Access-Control-Allow-Origin", "*");
}

* 作为Access-Control-Allow-Origin 值发回时请记住。每个主机都可以与您的 API 对话。如果您不希望全世界都访问您的 API,只需指定一个 FQDN 作为值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-16
    • 2015-10-22
    • 2019-05-15
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2016-12-20
    相关资源
    最近更新 更多