xmlhttprequest获取加密密钥+html表单-我做错了什么
xmlhttprequest to get encryption key + html form - what am I doing wrong
我的项目的最后阶段是将我的网站连接到银行支付网关,允许人们使用信用卡购买东西,但不在我的网站上存储任何信用卡数据。我上过谷歌和stackoverflow,认为自己走在了正确的轨道上,但显然做错了什么。
这个想法是,当表单打开时,会发生一个http帖子,它会向网关发送一组参数,网关会用一个很长的加密字符串作为响应,我用它来提交实际订单。我很感激这里的帮助,因为我现在很困。
<form method="post" action="/A55D74/fwcdirect.nsf/encrypt?OpenForm&Seq=1" name="_encrypt">
<input type="hidden" name="__Click" value="0" /><form action="https://encryption-gateway-url.e" method="post">
<script>
var url = "valid-url";
var params = "clientid=12&password=xyz&chargetype=Auth¤cy=42&total=1.00";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("post", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(params);
return xmlhttp.responseText;
</script>
<input type="hidden" name="returnurl" value="http://www.mywebsite.co.uk/">
<input type="hidden" name="merchantdisplayname" value="Website + Shopping cart">
<input type="submit" value="10.00">
</form>
4月9日:我仍然没有解决这个问题,尽管我从网关服务器得到了错误响应,我目前正在探索dojo,它看起来很有前景,作为奖励,它预装了Lotus Notes客户端&服务器(Domino 8.5.1具有dojo 1.3.2)。
我的猜测是,你应该在服务器上这样做,而不是在同源策略阻止你将数据发布和读取到不同域的客户端上。
即,客户加载最终付款页面;在从服务器返回之前,您将账单详细信息发布到银行,获得加密的响应,并将其作为隐藏字段附加到用户实际提交的表单中进行支付。
这应该是一种防止用户篡改客户端/金额参数的方法,他们根本不应该看到它们。
(这看起来像EPDQ,如果是的话,那肯定是我自己使用它时你应该做的!)
XMLHttpRequest是一个回调方法,因此这意味着您应该创建一个回调函数来处理responseText。
例如
var url = "valid-url";
var params = "clientid=12&password=xyz&chargetype=Auth¤cy=42&total=1.00";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("post", url, true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// add this line
xmlhttp.onreadystatechange = callback
xmlhttp.send(params);
// remove this line
//return xmlhttp.responseText;
// add a new function
function callback(req, id) {
if(req.readyState == 4 && req.status == 200) {
alter(req.responseText);
}
}
相关文章:
- 正在尝试为Docpad网站设置Lunr全文搜索插件.我做错了什么
- 重新加载重复数据失败,我做错了什么
- 我做错了什么
- Google Apps 脚本为 getLastRow 抛出电子邮件失败通知,我做错了什么
- Javascript语法 - 我做错了什么
- 角度灯箱不起作用.我做错了什么
- 在这个猫鼬独特的保存前验证中,我做错了什么
- 简单的Youtube iframe API就在文档中,我做错了什么
- 我正在尝试实现一个AJAX调用.我做错了什么
- 我对这个动态查询做错了什么
- 我在jQuery事件处理和隐藏/显示图像元素方面做错了什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- JS离线检测?我做错了什么
- Jquery自动完成不是't工作.我做错了什么
- 是ngRouter的角度错误还是我做错了什么
- jQuery Toggle——我做错了什么
- javascript原型,我做错了什么
- 超级初学者JavaScript..我做错了什么
- 我在这里做错了什么?否则,如果
- Javascript和HTML - 添加一个下拉菜单,我在这里做错了什么