if (xhr != null) { // xhr is AJAX call request object.
console.log("abort");
canceler.resolve();
}
xhr = $http({ method: 'POST', url:("/Home/GetLibrary"), timeout: canceler.promise })
.success(){
alert("success");
})
.error() {
alert("error");
});
这里我检查xhr对象。如果xhr对象不为null,则我中止调用。但它会中止当前的调用,而不是之前的Ajax调用 我尝试再次调用相同的函数,然后所有后续的AJAX调用都被中止。
答案 0 :(得分:1)
试试这个
var canceller = $q.defer();
$http.get("yourUrl", { data:data })
.then(function(response){
$scope.movie = response.data;
});
$scope.cancel = function(){
canceller.resolve("user cancelled");
};
$ scope.cancel();
答案 1 :(得分:0)
你可以通过承诺来做到这一点。看看Aborting AJAX Requests Using $http And AngularJS,那个人很好地解释了这个话题。
同时检查以下问题: