Braintree Drop-in UI - 使用 AJAX 发送表单

2024-01-04

我正在尝试实现 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(使用前将#替换为@)

Braintree Drop-in UI - 使用 AJAX 发送表单 的相关文章

随机推荐