【问题标题】:How to enable CORS on Orchard CMS?如何在 Orchard CMS 上启用 CORS?
【发布时间】:2015-01-28 06:57:32
【问题描述】:

我是果园 cms 的新手。我用 api 控制器创建了一个自定义模块。唯一的问题是我使用跨域时无法从 api 获取数据

【问题讨论】:

  • 我也有同样的问题。我不知道如何访问 HttpConfiguration。 ControllerContext.Configuration 属性始终为空。你找到解决方案了吗?谢谢
  • @DanielLeiszen 的评论here 很好地回答了这个问题。

标签: cors orchardcms orchardcms-1.8


【解决方案1】:

我在 Orchard.Web 的 Global.asax 上添加了以下代码行,它可以工作

protected void Application_PreSendRequestHeaders(object sender, EventArgs e)
    {
        HttpContext.Current.Response.Headers.Remove("X-Frame-Options");
        HttpContext.Current.Response.Headers.Add("Access-Control-Allow-Origin", "*");
    }

【讨论】:

    【解决方案2】:

    有一个技巧,您不需要破坏原始果园源。您使用预期的配置捕获并响应预检请求。

    public class ProductsController : ApiController
    {
        [HttpOptions]
        public HttpResponseMessage EnableCors()
        {
            var response = Request.CreateResponse();
            response.Headers.Add("Access-Control-Allow-Origin", "your client");
            response.Headers.Add("Access-Control-Allow-Methods", "methods");
            response.Headers.Add("Access-Control-Allow-Headers", "content-type");
            return response;
        }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多