首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Web API重定向到angular html页面

使用Web API重定向到angular html页面
EN

Stack Overflow用户
提问于 2018-05-24 16:52:12
回答 3查看 2.5K关注 0票数 1

我想使用WEB API重定向HTML页面。我使用ASP.Net Web API作为后端,前端使用Angular 5。下面是我的代码。这是我更新的API源代码。

代码语言:javascript
复制
[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;
    }
}
EN

回答 3

Stack Overflow用户

发布于 2018-05-24 16:56:34

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

票数 0
EN

Stack Overflow用户

发布于 2018-05-24 17:51:17

使用angular中的window.location.href设置返回的数组的第一个元素,以重定向到预期的Url

票数 0
EN

Stack Overflow用户

发布于 2018-05-24 19:10:38

您可以在IHttpActionResult上更改控制器方法的返回类型,并使用从ApiController继承的OkRedirect方法返回。

例如,如果您想返回带有ok代码的string[] (200)或带有Location响应头的重定向(302)并提供重定向链接,请参阅下面的代码,这取决于某些条件:

代码语言:javascript
复制
[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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50504999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档