使用api返回的Html重定向

时间:2018-05-30 12:33:49

标签: javascript api axios

是否可以使用API​​返回的HTML响应重定向页面?我使用的API返回Html,我需要使用此响应进行重定向。 我尝试过使用

window.location.href = response.data

但它没有用。以及API的响应

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="no-store, no-cache, must-revalidate">
<META HTTP-EQUIV="PRAGMA" CONTENT="no-store, no-cache, must-revalidate">
<body onload="document.order.submit()">
<!--body-->
    <form name="order" action="https://migs.mastercard.com.au/vpcpay" method="post">
    <p> <h2>Please wait.. your payment is processed.........</></p>
<input type="hidden" name="vpc_AccessCode" value=""/><br>
<input type="hidden" name="vpc_Amount" value="00"/><br>
<input type="hidden" name="vpc_Command" value="pay"/><br>
<input type="hidden" name="vpc_Locale" value="en"/><br>
<input type="hidden" name="vpc_Merchant" value=""/><br>
<input type="hidden" name="vpc_ReturnURL" value="/><br>
<input type="hidden" name="vpc_Version" value="1"/><br>
<input type="hidden" name="vpc_card" value="Visa"/><br>
<input type="hidden" name="vpc_gateway" value="ssl"/><br>
<input type="hidden" name="vpc_SecureHash" value="E0989722822D8439C98CC17045A53173405C786CCF5DE5430DC419688A0E9D69"/>
<input
type="hidden" name="vpc_SecureHashType"
value="SHA256">
    </form>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

您可以像这样替换当前页面的内容:

document.body.innerHTML = response.data;

答案 1 :(得分:0)

根据我对您的问题描述的理解,我不认为重定向是这样做的方法,您可以做以下两件事之一:

1)用新内容替换页面的body标签内容。

document.body.innerHTML = response.data;

2)使用iFrame。请检查此link

答案 2 :(得分:0)

您的服务器可以使用HTTP响应对象使用重定向机制。就像在nodejs中一样

<script>
 function myFunction() {

  document.body.style.cursor = "url(img/Shovel.png), pointer";

}

function changePage() {
  var cursor = document.body.style.cursor;

  if (cursor === "url(img/Shovel.png)") {
    window.location.href = "Potato1.html";
  } else {
    window.location.href = "Potato0.html";
  }
}

其中res.redirect("/login.html"); res响应对象。

但如果您要返回整个HTML,那么

HTTP

不起作用,因为window.location.href = response.data 期望网址不是html内容。

如果要返回HTML内容,另一种方法是使用

替换页面正文
window.location.href