在Braintree的onPaymentMethodReceived(obj)方法中调用函数

问题描述 投票:2回答:1

我试图在onPaymentMethodReceived:function (obj)方法中调用该函数,但我收到一个错误,obj包含付款nonce。

我的JS代码是

 this.braintree.setup(this.clientToken, "dropin", {
   container: "dropin-container",
   onPaymentMethodReceived:function (obj) {
     console.log("nonce  "+obj.nonce);
     this.ckeckoutClick(obj.nonce)  //I want call this function which is post request to server//
   }
 })

我的HTML是

<form id="checkout">
  <div id="dropin-container"></div>
  <input type="submit" value="Place Order">
</form>

请告诉我我做错了什么

谢谢

javascript braintree
1个回答
2
投票

如果你想在函数内部使用this,请使用() =>而不是function ()

   this.braintree.setup(this.clientToken, "dropin", {
        container: "dropin-container",
        onPaymentMethodReceived: (obj) => {
            console.log("nonce  "+obj.nonce);
            this.ckeckoutClick(obj.nonce)  //I want call this function which is post request to server//
         }
    })

否则this.checkoutClick()将在checkoutClick上或从调用回调的任何地方调用braintree

© www.soinside.com 2019 - 2024. All rights reserved.