Код веб-API - Не удалось загрузить - Контроль доступа разрешить происхождение - PullRequest
0 голосов
/ 06 июля 2018

Мой сайт работает нормально. В основном у меня есть несколько html-страниц, которые вызывают webapi для получения результатов и привязки графика. API только отправляет данные json, а остальное делается на html-странице в теге script.

Теперь мне нужно интегрировать некоторые из страниц моего веб-сайта в другой веб-сайт, чтобы я создал html-страницы, но когда я их запускаю, я получаю сообщение об ошибке - заголовок «Access-Control-Allow-Origin» присутствует на запрошенном ресурсе. Исходный объект 'null', следовательно, не имеет доступа.

Код 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();
}

Я не хочу использовать плагин. Какие изменения я должен внести в этот код, чтобы он также работал на моем веб-сайте и мог быть интегрирован в другой веб-сайт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...