javascript – Angular控制器无法动态检测Braintree支付随机数
作者:互联网
Braintree的客户创建SDK系统在您点击提交后立即在表单中生成一个nonce输入字段.
<input name="payment_method_nonce" type="hidden" value="nonce-here">
但是,使用Angular的ng模型输入识别系统,我无法检测到控制器中动态生成的输入.表单提交后,我正在我的控制器中执行一个函数.
<form id="checkout" id="checkout" ng-submit="processForm(formData)">
如您所见,无法收集随机数的值并将其提交给脑树API命令,例如创建新用户的付款方式.
从控制器,数据将使用$http提交给下面的braintree api命令.
gateway.customer.create({
creditCard: {
token: "creditCard123",
},
paymentMethodNonce: "nonce-from-the-client"
}, function (err, result) {
});
我是以错误的方式来做这件事的吗?即使此应用程序是Angular / express,我是否应该使用纯节点进行解决方案?或者我应该使用jquery / angular在所述输入字段中植入ng模型?
解决方法:
我在SDK团队的Braintree工作.
您可以使用回调来侦听nonce,而不是将其自动写入DOM.
braintree.setup('CLIENT_TOKEN', 'dropin', {
container: 'container',
paymentMethodNonceReceived: function (event, nonce) {
// Do something with the nonce here
}
});
这也会阻止表单自动代表您提交.您可以阅读更多文档here.如果您仍然遇到问题,请随时联系support@getbraintree.com.
标签:braintree,javascript,angularjs,node-js,express 来源: https://codeday.me/bug/20190725/1528866.html