AngularJS http пост-цикл
Как я могу вызвать функцию один раз. Когда я это делаю, я называю это петлями. HTML: вызов функции из контроллера. найти значение индекса.
<body ng-controller="MainCtrl">
<div ng-repeat="id in arr">
{{sendPost(id)}}
</div>
<br>
{{namestr}}
</body>
JS: функция запроса сервера на значение
app.controller('MainCtrl', function($scope, $http) {
$scope.arr=[];
$scope.arr.push(1);
$scope.arr.push(2);
$scope.arr.push(3);
$scope.namestr="";
$scope.newName = "";
$scope.sendPost = function(names) {
$scope.namestr=$scope.namestr+' '+names;
var data = $.param({
json: JSON.stringify({
name: names
})
});
$http.post("/echo/json/", data).success(function(data, status) {
//select from database
if (data==1){
return '1111'
} else {
return '2222'
}
})
}
});
1 ответ
Это плохая идея в целом
{{sendPost('Василий')}}
Метод sendPost и вместе с ним http.post будут вызываться при каждом отдельном процессе $digest, а $digest вызывается изменением модели, поэтому
$scope.hello = data;
вызовет еще один $digest и еще один http-запрос, объясните подробнее, чего вы хотите достичь, и я расширю ваш плункер