我正在尝试实现 Braintree Drop-in UI,并且想使用自定义 jQuery ajax 方法发送表单。
以前,我曾经使用 jQuery serialize() 方法发送(非 dropin UI)表单,但对于新的(动态加载的)Dropin UI 表单,serialize() 方法似乎不起作用( payment_method_nonce 值设置为空)。
然而,通过基本的 html 表单(没有 ajax)发送表单似乎工作正常,所以我的 payment_method_nonce 就在那里,它只是在途中迷路了。
如何确保 serialize() 方法不会丢失 payment_method_nonce 值?
或者作为一个更普遍的问题,如何使用 ajax 发送 Drop-in UI 表单?
我知道在执行 Braintree.setup 时可以使用 paymentMethodNonceReceived 标志,但这在我的情况下不起作用,因为我需要将发送请求/处理响应的代码与 Braintree.setup 分开。
Cheers
显然 paymentMethodNonceReceived 方法是最终的选择。
创建令牌后,我用它来创建一个隐藏字段,该字段是表单的一部分,然后可以使用 serialize() 方法对其进行序列化,不会出现任何问题。这是一个代码示例:
<script type="text/javascript">
braintree.setup("PaymentTokenGoesHere", "dropin", {
container: "myDiv",
paymentMethodNonceReceived: function (event, nonce) {
$('#myForm').append("<input type='hidden' name='payment_method_nonce' value='" + nonce + "'></input>");
CallAjaxMethod();
}
});
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)