如何强制Stripe Elements JS Token Promise在变量集

时间:2017-04-26 22:58:50

标签: jquery object stripe-payments

我有一个我在jQuery中使用的条带对象。

我的对象的属性是获取条带标记的函数。

getStripeToken : function(){
    stripeOb.stripe.createToken(stripeOb.stripeCard).then(function(result) {
        if (result.error) {
          // Inform the user if there was an error
          var errorElement = document.getElementById('card-errors');
          return result.error.message; //errorElement.textContent =
        } else {
          // Send the token to your server
          console.log(result.token);
          return result.token; 
        }
    });
}, 

console.log输出undefined到控制台。 我在提交表单时调用该函数。并将结果分配给另一个对象prop

stripeOb.token = stripeOb.getStripeToken(stripeOb.stripeCard);

然后我在另一个函数中使用对象prop:

stripeOb.stripeTokenHandler(stripeOb.token);

哪个电话:

`stripeTokenHandler : function(token) {
    // Insert the token ID into the form so it gets submitted to the server
    var form = document.getElementById('payment-form');
    var hiddenInput = document.createElement('input');
    hiddenInput.setAttribute('type', 'hidden');
    hiddenInput.setAttribute('name', 'stripeToken');
    hiddenInput.setAttribute('value', token);
    form.appendChild(hiddenInput);

    console.log(token);
    // Submit the form
    //form.submit();
}`

stripeTokenHandler中的控制台日志首先返回undefined,然后getStripeToken中的console.log输出令牌对象。

为什么在第二个函数console.log之后第一个函数console.log输出正确,为什么stipeOb.token没有设置为结果?

0 个答案:

没有答案