отправить форму. html с данными в СПА (реагировать)? - PullRequest
1 голос
/ 24 апреля 2020

У меня есть это html, где мне нужно сделать платеж к платежному шлюзу.

<html>
<head>​</head>​

<body>
  <form id="pay_form" method="post">
    <div className="text-center">
      <div style="text-align:center;max-width:1170px;margin:0 auto;"></div>
      <input type="hidden" name="MerchantId" id="MerchantId"/>

    </div>
  </form>
</body>
<script>
    CheckOut();
        function CheckOut() {
      document.getElementById("pay_form").action = "<%= requestUrl %>";
            document.getElementById("MerchantId").value = "<%= merchantId %>";
      document.getElementById("pay_form").submit();
        }
</script>
</html>

Если я сделаю window.open('myhtml.html');, html выполнит сценарий и отправит форму, но как связать значение MerchantId до этого?

1 Ответ

0 голосов
/ 24 апреля 2020

Вы можете использовать URL-запрос для этого, например, так:

const MerchantId = "<%= merchantId %>";
window.open(`myhtml.html?MerchantId=${MerchantId}`);

А затем в вашем myhtml.html:

const MerchantId = getQueryVariable('MerchantId');

// credits: https://stackoverflow.com/a/2091331/4536543
function getQueryVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split('&');
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split('=');
        if (decodeURIComponent(pair[0]) == variable) {
            return decodeURIComponent(pair[1]);
        }
    }
    console.log('Query variable %s not found', variable);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...