Использование веб-API перенаправления на угловую HTML-страницу - PullRequest
0 голосов
/ 24 мая 2018

Я хочу перенаправить HTML-страницу с помощью WEB API.Я использую ASP.Net Web API в качестве серверной части, а интерфейсная версия находится на Angular 5. Вот мой код.Вот мой обновленный исходный код API.

[System.Web.Http.HttpGet]
public string[] Payment(string uri)
{
    try
    {
        RegistrationRequestX reg = new RegistrationRequestX();
        reg.Customer = "Test Api";
        reg.Channel = Channels.Web;
        reg.Language = "EN";
        reg.Amount = 10;
        reg.OrderID = "1234";
        reg.OrderInfo = "test info";
        reg.OrderName = "testing order";
        string retPath = uri;
        retPath = retPath.Replace("payment", "confirmation");
        reg.ReturnPath = retPath;
        RegistrationResponseX res = new RegistrationResponseX();
        res = client.Register(reg);
        client.Close();
        string[] sess = new string[2];
        sess[0] = paymentPortalURL;
        sess[1] = transactionID;
        return sess;
    }
    catch (Exception)
    {
        throw;
    }
}

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Используйте window.location.href в вашем угловом углу, чтобы установить первый элемент массива, который вы возвращаете, чтобы перенаправить на URL, который вы ожидали

0 голосов
/ 24 мая 2018

Вы можете изменить тип возврата метода cotroller на IHttpActionResult и вернуться с использованием методов Ok и Redirect, унаследованных от ApiController.

Например, см. Код ниже, если вы хотителибо вернуть string[] с кодом ok (200), либо перенаправить (302) с Location заголовком ответа с предоставленной ссылкой перенаправления, в зависимости от некоторых условий:

[System.Web.Http.HttpGet]
public IHttpActionResult Payment(string uri)
{
    string[] sess = ...

    if (someRedirectCondition)
        return Redirect("http://a.link.to.your.html.page");
    else
        return Ok(sess); // A method type is inferred to Ok<string[]>(string[] content)
}
0 голосов
/ 24 мая 2018

Вы можете вернуть URI перенаправления обратно клиенту angular с кодом состояния 302. В angular вы должны проверить возвращенный код состояния.Если это 302, тогда перенаправить на возвращенный URL перенаправления.

...