用AngularJS在客户端初始化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 { 

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

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

在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 }); }]);