我想使用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;
}
}
答案 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