如何在Orchard CMS上启用CORS?

时间:2015-01-28 06:57:32

标签: cors orchardcms orchardcms-1.8

我是果园cms的新手。我用api控制器创建了一个自定义模块。唯一的问题是,当我使用跨域

时,我无法从api获取数据

2 个答案:

答案 0 :(得分:2)

我在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", "*");
    }

答案 1 :(得分:1)

有一个技巧是你不需要打破原来的果园来源。您可以使用预期的配置捕获并响应预检请求。

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;
    }

}