我正在尝试构建一个使用Adyen Encryption for Credit Cards的网页。我有一个表格,我要求提供信用卡数据,当用户按下submit
时,它会调用JavaScript函数。现在我想将该页面重定向到另一个页面,该页面显示JavaScript函数返回的值。我不知道是否有一种简单的方法可以做到。
index.html 代码如下:
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://my.tidal.com/assets/javascripts/chosen.jquery.min.js"></script>
<script src="https://my.tidal.com/assets/javascripts/payment/adyen.js"></script>
<script src="https://my.tidal.com/assets/javascripts/payment/brazil-validate.js"></script>
<script>
function test(name, card, expMonth, expYear, cvc) {
var adyenPubKey = "10001|DCDD8889161843FF0CC8D0D904168E5B4ED5B529C685413F4F8087584F507C5158551B521B9226F7C24CAE3F9FF4B5721F39D23F1E706D3F27A4680C5A2F2B4714C1530BC1EE410B503F9487AF0F047004F4F5DA2614AF3955C25C36BA3881907063742C7687D8516176AD67570A5F0DFA682AC2B7DAD055CE00A68283B77C731E35F004A1D3FE72CE3AE52C3FA8A0E8A63C8D903E00B37DA6760C8C104332FEDD762D4BA8BDB9781C5DDF7E94E0D81529A7C01A2094E8240FB3C24C1E687AD2304A4346EBD82B5DF983806F57B2E0865143C8FEE568A6915A71044A707693C51112B80E2EC665194FD1F8FE362EF1479CCF938DDACFE9BEA56B530E81D567B3";
var options = {};
var cseInstance = adyen.encrypt.createEncryption(adyenPubKey, options);
var generationTime = new Date().toISOString();
var cardData = {
number : card,
cvc : cvc,
holderName : name,
expiryMonth : expMonth,
expiryYear : (expYear.length === 2) ? '20' + expYear : expYear,
generationtime : generationTime
};
return cseInstance.encrypt(cardData);
}
</script>
</head>
<body>
<form onsubmit="return test(document.getElementById('holderName').value,document.getElementById('number').value,document.getElementById('expiryMonth').value,document.getElementById('expiryYear').value,document.getElementById('cvc').value)" method="post">
<input type="text" name="holderName" id="holderName" required>
<br><br>
<input type="text" id="number" pattern="[0-9]{16}" required>
<br><br>
<input type="text" id="expiryMonth" pattern="[0-9]{2}" required>
<input type="text" id="expiryYear" pattern="[0-9]{4}" required>
<br><br>
<input type="text" id="cvc" pattern="[0-9]{3}" required>
<br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>
答案 0 :(得分:0)
我不确定您的特定用例 - 但如果您想重定向到新页面(或从服务器请求新页面)并将任何信息转发到新页面 - 您必须发送数据到服务器。然后,服务器只能发回您想要显示的特定信息。 (考虑到数据的性质,请确保使用HTTPS。)
如果这是单页应用程序,那么您可以简单地隐藏表单并加载当前页面上的下一个“屏幕”。这样您就可以重复使用表单中的内存结果。只需将其存储在可访问范围的变量中即可。
另一个选择可能是使用本地存储,但考虑到这是敏感的信用卡信息,我会建议不要加密或不加密。