2016-12-12 4 views
2

Я пытаюсь вызвать функцию в методе onPaymentMethodReceived:function (obj), но я получаю сообщение об ошибке, когда obj содержит платежи nonce.Функция вызова внутри onPaymentMethodReceived (obj) метод Braintree

Мой расслоение плотной код

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> 

Пожалуйста, скажите мне, что я делаю неправильно

спасибо

ответ

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 или из любого места называется обратного вызова.

+1

Большое спасибо за ваш ответ, это помогает мне много, я потратил больше времени на то, чтобы понять, что вы сделали мой день :) – Malhari

Смежные вопросы