Tôi đang phát triển một trang với Angular và có phương thức init() trong bộ điều khiển của tôi. Mã này như sau:AngularJS gọi HTTP nhiều lần trong bộ điều khiển
var filtersController = ['$scope', '$http', function ($scope, $http) {
$scope.init = function() {
$http({
method: 'GET',
url: '/json-tags-test',
cache: true
}).success(function (data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
}).error(function (data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
};
}];
Đây chỉ là cuộc gọi đến tệp JSON đơn giản.
HTML của tôi là như sau:
<div class="container main-frame" ng-app="projectsApp" ng-controller="filtersController" ng-init="init()">
</div>
Đối với một số lý do, điều này có được cuộc gọi được gọi hai lần mỗi khi tôi tải trang. Đây có phải là hành vi tiêu chuẩn này không?
Rất cám ơn,
Dash
Câu trả lời ở phía dưới với upvotes cao nhất (hiện nay 33) nên được đánh dấu là câu trả lời chính xác cho câu hỏi này. – vivekp