Web API代码-无法加载-访问控制允许原始

时间:2018-07-06 10:03:14

标签: c# asp.net-mvc

我的网站运行良好。基本上,我有一些html页面,它们调用webapi来获取结果并绑定图表。 api只发送json数据,其余的工作在script标签的html页面上完成。

现在,我必须将我的某些网站页面集成到另一个网站中,因此我已经创建了html页面,但是当我运行它们时,我遇到了错误-请求资源上出现“ Access-Control-Allow-Origin”标头。因此,不允许访问原始“空”。

mvc代码:

[HttpGet, Route("DevD"), OutputCache(Duration = 5, VaryByHeader = "Origin")]
public ActionResult GetDevD(double value1)
{
    return Json(_devD, JsonRequestBehavior.AllowGet);
}

private static object _devD;
private static object GetDevD()
{
    dynamic trend = Trend;
    return new
    {
        trend?.day,
        volume = new abc(GetLastTick("JZ"))       
    };
}

在global.ascx

protected void Application_BeginRequest()
{
    var origin = Request.Headers["Origin"];
    if (!string.IsNullOrWhiteSpace(origin) && (origin.EndsWith("abc.com") || origin.EndsWith("www.watrade.net")))
    {
        Response.Headers.Add("Access-Control-Allow-Origin", origin);
        Response.Headers.Add("Access-Control-Allow-Headers", "accept, content-type");
    }
    if (Request.HttpMethod != "OPTIONS") return;
    Response.End();
}

我不想使用任何插件。我应该对此代码进行哪些更改,以便它也可以在我的网站上运行,并且也可以集成到另一个网站中。

0 个答案:

没有答案