使用AngularJS在客户端初始化Braintree付款?

时间:2015-10-07 16:27:32

标签: javascript angularjs node.js braintree

我正在尝试在生成客户端令牌后在客户端初始化Braintree JS SDK。

他们的文档中的代码声明使用以下内容:

braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", {id: "checkout"});

抓取客户端令牌并将其放入Angular控制器的范围中,我尝试使用以下命令将其插入客户端:

<script>
        braintree.setup({{ braintreeToken }}, "custom", {id: "checkout"});
</script>

但是,加载页面时收到以下错误:

Uncaught SyntaxError: Unexpected token {

关于如何解决或解决此问题的任何想法?

注意:客户端令牌没有问题。它似乎是一个字符串,我可以正常显示在页面上。

1 个答案:

答案 0 :(得分:2)

在Angular可以评估braintreeToken的值之前,正在调用

braintree.setup。您可以在Angular控制器中包含对braintree.setup的调用,以便可以传入braintreeToken。这是使用Angular解决它的一般方法:

angular.module('myApp')
  .controller('myCtrl', ['$http', function($http) {
    $http.post('/someUrlThatProvidesYourClientToken', {customer_id: 'some-id'})
      .then(function(token) {
        braintree.setup(token, "custom", {id: "checkout"});
      }, function(err) {
        // Do something with error
      });
}]);