我是果园cms的新手。我用api控制器创建了一个自定义模块。唯一的问题是,当我使用跨域
时,我无法从api获取数据答案 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;
}
}