Javascript 如何从ng click或controller事件而不是表单提交触发条带令牌生成?

Javascript 如何从ng click或controller事件而不是表单提交触发条带令牌生成?,javascript,angularjs,stripe-payments,Javascript,Angularjs,Stripe Payments,我正在将stripe与我的angular应用程序集成,如果可能的话,我希望能够更好地控制何时生成令牌,以便在用户流中实现更多功能。更具体地说,我有一些表格付款信息,送货地址,其他信息,我想分开保存,但我想在同一时间处理它们。到目前为止,我正在使用这个指令 它允许我捕获控制器中的响应,但不触发标记化调用 .controller('IndexController', function($scope, $rootScope) { $scope.saveCustomer = function(sta

我正在将stripe与我的angular应用程序集成,如果可能的话,我希望能够更好地控制何时生成令牌,以便在用户流中实现更多功能。更具体地说,我有一些表格付款信息,送货地址,其他信息,我想分开保存,但我想在同一时间处理它们。到目前为止,我正在使用这个指令

它允许我捕获控制器中的响应,但不触发标记化调用

.controller('IndexController', function($scope, $rootScope) {
  $scope.saveCustomer = function(status, response) {
    $rootScope.user.stripeCustomerId = response.id;
    $rootScope.user.save();
  };
});

有什么想法吗?

我把这件事完全复杂化了。我看到的所有条带示例都是用jQuery完成的,所以我试图将其重新发明为angular。当我简单地研究stripe提供的方法时,它变得容易多了。例如,标记化看起来像Stripe.card.generateTokencard,callback;只要您从它们的文档中提取正确的属性,卡片就是一个对象。因此,将其放入可点击的ng函数中不是问题。

OMG!看起来你迫切需要一本好的读物:与实际问题完全无关,但如果你来自jQuery背景,那就必须读一本。说清楚了,这是我找到的指令,我正在寻找更好的解决方案。stripe面临的挑战是,他们提供了一个脚本,以更传统的javascript web排序方式添加到项目中。它被用作具有特定于条带属性的表单上的表单操作。该脚本将信用卡表单数据直接发送到他们的服务器,因此它永远不需要触及您的服务器。据我所知,他们没有提供一个简单的端点来发送这些数据。我猜这是出于安全考虑,那么写这个指令的人仍然在jQuery中思考,而不是Angular。星座-我面临着同样的问题,Angular有点麻烦-我如何在不通过服务器传递卡号的情况下创建卡对象?我已经有一段时间没有使用stripe了,但我记得从来没有必要发送卡号到您的服务器。通过我记得使用的流,您可以使用stripe提供的功能从客户端直接将卡信息发送到stripe。他们会将一个令牌发送回您的服务器。然后,服务器将令牌发送到stripe。如果您有一些代码可以发布到堆栈溢出,我可以看一下。但基本上,您将使用stripe提供的函数在客户端创建card对象
.controller('IndexController', function($scope, $rootScope) {
  $scope.saveCustomer = function(status, response) {
    $rootScope.user.stripeCustomerId = response.id;
    $rootScope.user.save();
  };
});