我正在尝试使用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] 举报,一经查实,本站将立刻删除。