使用Web API重定向到角度html页面

时间:2018-05-24 08:52:12

标签: asp.net angular rest api

我想使用WEB API重定向HTML页面。我使用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 :(得分:0)

您可以将重定向uri返回到角度客户端,状态码为302。 在angular时,您应该检查返回的状态代码。如果是302,则重定向到返回的重定向网址。

答案 1 :(得分:0)

使用angular中的window.location.href将您返回的数组的第一个元素设置为重定向到您期望的Url

答案 2 :(得分:0)

您可以在IHttpActionResult上更改cotroller方法的返回类型,并使用继承自Ok的{​​{1}}和Redirect方法返回。

例如,如果您想要使用ok代码(200)返回ApiController,或者使用提供的重定向链接返回带有string[]响应标头的重定向(302),请参阅下面的代码,具体取决于某些条件:< / p>

Location