AngularJS - $http.get 请求被取消
AngularJS - $http.get request gets cancelled
我正在尝试使用 $http.get 从我的 AngularJS 应用中的服务器获取数据。但是当我执行请求时,它似乎被某些东西取消了。我使用的每个 link 都会发生这种情况。本地文件正在运行。
下面来自 Controller.js 的代码:
angular
.module('schoolApp')
.controller('configController', [
'apiService', '$http', function (apiService, $http) {
var vm = this;
vm.isActive = isActive;
vm.addPortal = addPortal;
...
function addPortal() {
...
apiService.getServerData('someUrl', "1.0")
.then(function (result) {
var test = result.data;
})
.catch(function (result) {
console.log(result);
});
}
...
和 Service.js:
angular
.module('schoolApp')
.service('apiService', [ '$http', function ($http) {
var service = {
getServerData: getServerData,
};
return service;
function getServerData(portalUrl, appVersion) {
// var url = "http://../.../.svc/GetSetting?alias=...&AppVersion=1.0";
var url = "http://xml.buienradar.nl";
//var url = "test.json";
//var url = "xml.xml";
// "http://" +
// portalUrl +
// "/.../.../.svc/GetSetting?alias=" +
// portalUrl +
// "&AppVersion=" +
// appVersion;
return $http.get(url);
}
}]);
执行此代码将显示来自控制器 class 的警报("ERROR: " + 结果)。结果数据:
result: Object
config: Object
data: null
headers: (c)
status: -1
statusText: ""
__proto __: Object
浏览器中的网络显示呼叫已取消:
http://i.stack.imgur.com/MJoZM.png
更多信息:
- 我正在使用 Phonegap(没有测试也不起作用)
- AngularJS 1.4
好的,找到答案了。我在同一个函数中调用了 window.location.reload() ,这发生了冲突。所以,现在我将它添加到请求中的 .then() 函数中。
我正在尝试使用 $http.get 从我的 AngularJS 应用中的服务器获取数据。但是当我执行请求时,它似乎被某些东西取消了。我使用的每个 link 都会发生这种情况。本地文件正在运行。
下面来自 Controller.js 的代码:
angular
.module('schoolApp')
.controller('configController', [
'apiService', '$http', function (apiService, $http) {
var vm = this;
vm.isActive = isActive;
vm.addPortal = addPortal;
...
function addPortal() {
...
apiService.getServerData('someUrl', "1.0")
.then(function (result) {
var test = result.data;
})
.catch(function (result) {
console.log(result);
});
}
...
和 Service.js:
angular
.module('schoolApp')
.service('apiService', [ '$http', function ($http) {
var service = {
getServerData: getServerData,
};
return service;
function getServerData(portalUrl, appVersion) {
// var url = "http://../.../.svc/GetSetting?alias=...&AppVersion=1.0";
var url = "http://xml.buienradar.nl";
//var url = "test.json";
//var url = "xml.xml";
// "http://" +
// portalUrl +
// "/.../.../.svc/GetSetting?alias=" +
// portalUrl +
// "&AppVersion=" +
// appVersion;
return $http.get(url);
}
}]);
执行此代码将显示来自控制器 class 的警报("ERROR: " + 结果)。结果数据:
result: Object
config: Object
data: null
headers: (c)
status: -1
statusText: ""
__proto __: Object
浏览器中的网络显示呼叫已取消:
http://i.stack.imgur.com/MJoZM.png
更多信息: - 我正在使用 Phonegap(没有测试也不起作用) - AngularJS 1.4
好的,找到答案了。我在同一个函数中调用了 window.location.reload() ,这发生了冲突。所以,现在我将它添加到请求中的 .then() 函数中。