我尝试使用$ http.get从我的Ionic应用中的服务器获取数据。但是当我执行请求时,似乎被某些东西取消了。
$scope.login = function() {
var canceller = $q.defer();
var requestPromise = $http.get("http://Myurl/users");
requestPromise.
success(function(data, status, headers, config) {
LoginService.loginUser($scope.data.username, $scope.data.password).success(function(data) {
$state.go('home');
}).error(function(data) {
var alertPopup = $ionicPopup.alert({
title: 'Login failed!',
template: 'Please check your credentials!'
});
});
}).
error(function(data, status, headers, config) {
if(data.status === 0) {
// Request cancelled
}
else {
// Other error
throw 'Error ' + status
}
});
canceller.resolve();
}
Service.Js
angular.module('starter.services', [])
.service('LoginService', function($q) {
return {
loginUser: function(name, pw) {
var deferred = $q.defer();
var promise = deferred.promise;
if (name == 'user' && pw == 'secret') {
deferred.resolve('Welcome ' + name + '!');
} else {
deferred.reject('Wrong credentials.');
}
promise.success = function(fn) {
promise.then(fn);
return promise;
}
promise.error = function(fn) {
promise.then(null, fn);
return promise;
}
return promise;
}
}
})
关于我的控制台中的错误只是告诉我取消请求没有语法错误