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() 函数中。