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

时间:2016-12-12 10:53:31

标签: javascript braintree

我正在尝试使用onPaymentMethodReceived:function (obj)方法调用该函数,但是我收到一个错误,即obj包含付款现时。

我的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>

请告诉我我做错了什么

谢谢

1 个答案:

答案 0 :(得分: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