AngularJS - $ http.get请求被取消

时间:2015-09-24 08:38:18

标签: javascript angularjs http request

我正在尝试使用$ 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

1 个答案:

答案 0 :(得分:0)

好的,找到了答案。我在同一个函数中调用了window.location.reload(),并且存在冲突。所以,现在我将它添加到请求中的.then()函数中。