Javascript AngularJS中的条带回调仅在我单击“保存”按钮两次时处理
在我的AngularJS控制器中,我有:Javascript AngularJS中的条带回调仅在我单击“保存”按钮两次时处理,javascript,angularjs,callback,stripe-payments,Javascript,Angularjs,Callback,Stripe Payments,在我的AngularJS控制器中,我有: .... stripeResponseHandler = function (status, response) { if(response.error) { Toaster.pop('rejected', 'cross', 'We could not validate your card.'); } } $scope.handleNewCard = function () { Stripe.car
....
stripeResponseHandler = function (status, response) {
if(response.error) {
Toaster.pop('rejected', 'cross', 'We could not validate your card.');
}
}
$scope.handleNewCard = function () {
Stripe.card.createToken({
number: $scope.number,
cvc: $scope.cvc,
exp_month: $scope.exp_month,
exp_year: $scope.exp_year,
name: $scope.name,
address_line1: $scope.address_line1,
address_line2: $scope.address_line2,
address_zip: $scope.address_postcode,
address_city: $scope.address_city,
address_country: $scope.address_country
}, stripeResponseHandler);
};
...
.col-xs-6
a.btn.large.blue.pull-left(ng-click='handleNewCard()')
| Save
我认为:
....
stripeResponseHandler = function (status, response) {
if(response.error) {
Toaster.pop('rejected', 'cross', 'We could not validate your card.');
}
}
$scope.handleNewCard = function () {
Stripe.card.createToken({
number: $scope.number,
cvc: $scope.cvc,
exp_month: $scope.exp_month,
exp_year: $scope.exp_year,
name: $scope.name,
address_line1: $scope.address_line1,
address_line2: $scope.address_line2,
address_zip: $scope.address_postcode,
address_city: $scope.address_city,
address_country: $scope.address_country
}, stripeResponseHandler);
};
...
.col-xs-6
a.btn.large.blue.pull-left(ng-click='handleNewCard()')
| Save
问题是回调函数只有在我单击两次Save按钮时才被处理。
奇怪的是,如果我只是在回调中执行一个console.log,它每次都会显示出来,但是只有在我单击两次save按钮时,Toaster.pop才会显示出来。您是将
console.log
放在if(response.error)
语句的内部还是外部?console.log在if(response.error)语句的外部检查是否每次单击时都发生回调。它每次都在发生,但是Toaster.pop没有发生,即使我把它也放在if检查之外。要触发Toaster.pop,我必须单击保存按钮两次。将响应
转储到控制台-是响应。在Toaster.pop
不弹出的迭代上设置了错误
?我猜不是。