微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AngularJS:$HTTP.GET正在取消

我正在尝试使用angularJS的$http服务但它似乎不起作用.我已经在线阅读了这样一个问题但是给出的解决方案没有帮助.我的控制器中有以下内容

app.controller('Ctrl',function($scope,$http){    
    var url = http://someurl?name=foo;
    $scope.submitRules = function(){
        $http({method: 'GET',url: url}).
              success(function(data,status) {
                $scope.status = status;
                $scope.data = data;
              }).
              error(function(data,status) {
                $scope.data = data || "Request Failed";
                $scope.status = status;
              });
    };
});

我正在使用此版本的angularJS< script src =“https://ajax.googleapis.com/ajax/libs/angularjs/1.1.4/angular.min.js”>< / script>

每当我尝试发送请求时,它都会显示请求状态被取消.我发送请求的URL非常好用,它只是不起作用于angularJS.
有人可以帮忙吗?

解决方法

我发现所有这些CORS的东西令人困惑.但是我能说什么呢?我是一个慢学习者.您描述的问题可以通过控制器修复,但我认为最好在入口处进行设置.例如:

angular.module('myApp',['ngResource','ui.bootstrap']).
    config(function($httpProvider) {

        // Enable CORS
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];

        ...
  });

鉴于您提供的代码,这可能也有效(未经测试):

app.controller('Ctrl',$http,$httpProvider){    
    var url = http://someurl?name=foo;
    $scope.submitRules = function(){

        // Enable CORS
        $httpProvider.defaults.useXDomain = true;
        delete $httpProvider.defaults.headers.common['X-Requested-With'];

        $http({method: 'GET',status) {
                $scope.data = data || "Request Failed";
                $scope.status = status;
              });
    };
});

无论哪种方式,所有的魔力发生在这两行:

$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐