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