我正在尝试使用$ http.get从我的AngularJS应用中的服务器获取数据。但是当我执行请求时,它似乎被某些东西取消了。它发生在我使用的每个链接上。本地文件正在运行。
来自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);
}
}]);
执行此代码将显示控制器类的警报(“ERROR:”+ result)。结果数据:
result:Object
config:Object
data:null
headers:(c)
状态:-1
statusText:“”
__proto __:Object
浏览器中的网络显示呼叫被取消:
http://i.stack.imgur.com/MJoZM.png
更多信息: - 我正在使用Phonegap(测试没有,也没有工作) - AngularJS 1.4
答案 0 :(得分:0)
好的,找到了答案。我在同一个函数中调用了window.location.reload(),并且存在冲突。所以,现在我将它添加到请求中的.then()函数中。