gpt4 book ai didi

javascript - 如何对 ng-click 激活的函数进行回调?

转载 作者:行者123 更新时间:2023-12-03 10:03:26 25 4
gpt4 key购买 nike

在处理数据的函数完成后,我无法完成我的电子邮件代码。它是由 NG-click 按钮触发的,但通常的回调方法都不起作用。

Angular 将 post 请求发送到我的 express 服务器以进行邮寄。

function processQuote() {
$http({
method : 'POST',
url : '/send' ,
data : mailJson,
headers: { 'Content-type': 'application/json' }
}).success(function(data){
console.log('success!');
}).error(function(err,data){
console.log(err);
});
};

循环访问混合对象/数组表并返回 mailJson 数组,我将注入(inject)电子邮件

$scope.calculateAll = function(callback){
var mailJson = [];
var amount = 0;
$scope.contact.totalQuote = 0;

for (var i = 0; i < $scope.customers.length; i++) {
if( $scope.customers[i].area != 0) {
$scope.customers[i].total = parseInt($scope.customers[i].area, 10) * parseInt($scope.customers[i].price, 10);
$scope.contact.totalQuote += parseInt($scope.customers[i].total);
mailJson.push($scope.customers[i]);
}
}
mailJson.unshift($scope.contact);
callback(mailJson);
};

和 html,ng-click 即可激活。

<button type="button" ng-click="calculateAll(processform)" class="btn btn-primary">Submit</button>

最佳答案

你的问题有点令人困惑,但我知道你想在响应后运行 block 代码

$http 返回一个延迟的 promise ,所以你可以做的是

function processQuote() {
var promise=$http({
method : 'POST',
url : '/send' ,
data : mailJson,
headers: {
'Content-type': 'application/json'
});
return promise;
};

在你的 Controller 中

processQuote().then(function(){
//code should run after a response
});

关于javascript - 如何对 ng-click 激活的函数进行回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30475658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com